shutdown returns a promise that is resolved when the channel is closed