'Verify that channel is open and callback is callable if not None
:raises ChannelClosed: if channel is closed
:raises ValueError: if callback is not None and is not callable'

def _validate_channel_and_callback(self, callback):

    if (not self.is_open):
        raise exceptions.ChannelClosed()
    if ((callback is not None) and (not is_callable(callback))):
        raise ValueError('callback    must    be    a    function    or    method')
