예제 #1
0
        private MqttMessage GetAck(PublishMessage msg)
        {
            PublishAckType ackType = msg.QualityOfServiceLevel == QualityOfServiceLevelType.AtLeastOnce ? PublishAckType.PUBACK : PublishAckType.PUBREC;

            if (ackType == PublishAckType.PUBREC)
            {
                Session.HoldMessage(msg);
            }
            else
            {
                Session.Unquarantine(msg.MessageId);
            }

            if (msg.QualityOfServiceLevel == QualityOfServiceLevelType.AtMostOnce)
            {
                return(null);
            }
            else
            {
                return(new PublishAckMessage(ackType, msg.MessageId));
            }
        }
예제 #2
0
 public PublishAckMessage(PublishAckType ackType, ushort messageId)
 {
     this.AckType   = ackType;
     this.MessageId = messageId;
 }
예제 #3
0
 public PublishAckMessage(PublishAckType ackType, ushort messageId)
 {
     AckType   = ackType;
     MessageId = messageId;
 }