'Create a new channel with the next available channel number or pass
in a channel number to use. Must be non-zero if you would like to
specify but it is recommended that you let Pika manage the channel
numbers.
:rtype: pika.adapters.blocking_connection.BlockingChannel'

def channel(self, channel_number=None):

    with _CallbackResult(self._OnChannelOpenedArgs) as opened_args:
        impl_channel = self._impl.channel(on_open_callback=opened_args.set_value_once, channel_number=channel_number)
        channel = BlockingChannel(impl_channel, self)
        impl_channel._set_cookie(channel)
        channel._flush_output(opened_args.is_ready)
    return channel
