close abstract method
Tells the consumer that no further streams will be added.
This allows the consumer to complete any remaining work and release resources that are no longer needed
Returns a future which is completed when the consumer has shut down.
If cleaning up can fail, the error may be reported in the returned future,
otherwise it completes with