/// <summary>
 /// Handles the ChannelMetadata message from a producer.
 /// </summary>
 /// <param name="header">The message header.</param>
 /// <param name="channelMetadata">The ChannelMetadata message.</param>
 protected virtual void HandleChannelMetadata(IMessageHeader header, ChannelMetadata channelMetadata)
 {
     Notify(OnChannelMetadata, header, channelMetadata);
 }
        /// <summary>
        /// Sends a ChannelMetadata message to a consumer.
        /// </summary>
        /// <param name="channelMetadata">The channel metadata.</param>
        /// <returns>The message identifier.</returns>
        public virtual long ChannelMetadata(ChannelMetadata channelMetadata)
        {
            var header = CreateMessageHeader(Protocols.ChannelDataFrame, MessageTypes.ChannelDataFrame.ChannelMetadata);

            return(Session.SendMessage(header, channelMetadata));
        }