/// <summary> /// Sends a ChannelMetadata message to a consumer. /// </summary> /// <param name="request">The request.</param> /// <param name="channelMetadataRecords">The list of <see cref="ChannelMetadataRecord" /> objects.</param> /// <param name="messageFlag">The message flag.</param> /// <returns>The message identifier.</returns> public virtual long ChannelMetadata(IMessageHeader request, IList <ChannelMetadataRecord> channelMetadataRecords, MessageFlags messageFlag = MessageFlags.MultiPartAndFinalPart) { var header = CreateMessageHeader(Protocols.ChannelStreaming, MessageTypes.ChannelStreaming.ChannelMetadata, request.MessageId, messageFlag); var channelMetadata = new ChannelMetadata { Channels = channelMetadataRecords }; return(Session.SendMessage(header, channelMetadata)); }