コード例 #1
0
        /// <summary>
        /// Handles the RequestChannelData message from a customer.
        /// </summary>
        /// <param name="header">The message header.</param>
        /// <param name="requestChannelData">The RequestChannelData message.</param>
        protected virtual void HandleRequestChannelData(IMessageHeader header, RequestChannelData requestChannelData)
        {
            var args = Notify(OnRequestChannelData, header, requestChannelData, new ChannelMetadata());

            HandleRequestChannelData(args);

            if (!args.Cancel)
            {
                ChannelMetadata(args.Context);
            }
        }
コード例 #2
0
        /// <summary>
        /// Sends a RequestChannelData message to a producer.
        /// </summary>
        /// <param name="uri">The URI.</param>
        /// <param name="fromIndex">From index.</param>
        /// <param name="toIndex">To index.</param>
        /// <returns>The sent message on success; <c>null</c> otherwise.</returns>
        public virtual EtpMessage <RequestChannelData> RequestChannelData(string uri, long?fromIndex = null, long?toIndex = null)
        {
            var body = new RequestChannelData
            {
                Uri       = uri ?? string.Empty,
                FromIndex = fromIndex,
                ToIndex   = toIndex
            };

            return(SendRequest(body));
        }
コード例 #3
0
        /// <summary>
        /// Sends a RequestChannelData message to a producer.
        /// </summary>
        /// <param name="uri">The URI.</param>
        /// <param name="fromIndex">From index.</param>
        /// <param name="toIndex">To index.</param>
        /// <returns>The message identifier.</returns>
        public virtual long RequestChannelData(string uri, long?fromIndex = null, long?toIndex = null)
        {
            var header = CreateMessageHeader((int)Protocols.ChannelDataFrame, (int)MessageTypes.ChannelDataFrame.RequestChannelData);

            var requestChannelData = new RequestChannelData
            {
                Uri       = uri,
                FromIndex = fromIndex,
                ToIndex   = toIndex
            };

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