public CompletionPendingMessageState(int packetId, IQos2MessageDeliveryState deliveryState,
                                      PreciseTimeSpan startTimestamp, MessageFeedbackChannel feedbackChannel)
 {
     this.PacketId        = packetId;
     this.DeliveryState   = deliveryState;
     this.StartTimestamp  = startTimestamp;
     this.FeedbackChannel = feedbackChannel;
 }
        public void ResetMessage(IMessage message, MessageFeedbackChannel feedbackChannel)
        {
            if (message.SequenceNumber != this.SequenceNumber)
            {
                throw new InvalidOperationException($"Expected to receive message with id of {this.SequenceNumber.ToString()} but saw a message " +
                                                    $"with id of {message.SequenceNumber.ToString()}. Protocol Gateway only supports exclusive connection to IoT Hub.");
            }

            this.FeedbackChannel = feedbackChannel;
        }
        Task PublishReleaseToClientAsync(IChannelHandlerContext context, int packetId, MessageFeedbackChannel feedbackChannel,
                                         IQos2MessageDeliveryState messageState, PreciseTimeSpan startTimestamp)
        {
            var pubRelPacket = new PubRelPacket();

            pubRelPacket.PacketId = packetId;
            return(this.pubRelPubCompProcessor.SendRequestAsync(context, pubRelPacket,
                                                                new CompletionPendingMessageState(packetId, messageState, startTimestamp, feedbackChannel)));
        }
Exemple #4
0
 public MessageWithFeedback(IMessage message, MessageFeedbackChannel feedbackChannel)
 {
     this.Message         = message;
     this.FeedbackChannel = feedbackChannel;
 }
 public MessageWithFeedback(IMessage message, MessageFeedbackChannel feedbackChannel)
 {
     this.Message = message;
     this.FeedbackChannel = feedbackChannel;
 }