Esempio n. 1
0
        private async void ProcessBuffer(byte[] buffer)
        {
            await ThreadPool.RunAsync(state =>
            {
                var args = new MqttNetEventArgs {
                    ClientUid = _clientUid
                };

                try
                {
                    // Process incomming messages
                    args.Message = MqttMessageDeserializer.Deserialize(buffer);
                    if (args.Message is IMqttIdMessage)
                    {
                        var msgWithId = args.Message as IMqttIdMessage;
                        _logger.LogMessage("Socket", LogLevel.Verbose, string.Format("Received message type '{0}', ID={1} from server.", msgWithId.MessageType, msgWithId.MessageId));
                    }
                    else
                    {
                        _logger.LogMessage("Socket", LogLevel.Verbose, string.Format("SOCKET: Received message type '{0}' from server.", args.Message.MessageType));
                    }
                }
                catch (Exception ex)
                {
                    args.Exception = ex;
                }

                _messageReceivedHandler(args);
            });
        }
Esempio n. 2
0
        private void ProcessBuffer(byte[] buffer)
        {
            var t = new Thread(() =>
            {
                var args = new MqttNetEventArgs {
                    ClientUid = _clientUid
                };

                try
                {
                    // Process incomming messages
                    args.Message = MqttMessageDeserializer.Deserialize(buffer);

                    string id = "N/A";
                    if (args.Message is IMqttIdMessage)
                    {
                        id = ((IMqttIdMessage)args.Message).MessageId.ToString();
                    }
                    _logger.LogMessage("Socket", LogLevel.Verbose,
                                       "Received message type " + args.Message.MessageType +
                                       ", QOS=" + args.Message.QualityOfService +
                                       ", ID=" + id);
                }
                catch (Exception ex)
                {
                    args.Exception = ex;
                }

                MessageReceived(args);
            });

            t.Start();
        }
        protected override void OnPublishReceived(MqttNetEventArgs args)
        {
            bool handled = false;
            lock (_subscriptionClients)
            {
                // Send to subscriber clients first
#if !(MF_FRAMEWORK_VERSION_V4_3 || MF_FRAMEWORK_VERSION_V4_2 || WINDOWS_PHONE)
                Parallel.For(0, _subscriptionClients.Count, i =>
#else
                for (int i = 0; i < _subscriptionClients.Count; i++)
#endif
                {
                    var client = (SubscriptionClient)_subscriptionClients.GetAt(i);
                    try
                    {
                        bool clientHandled = client.NotifyPublishReceived(args.Message as MqttPublishMessage);
                        handled = handled | clientHandled;
                    }
                    catch (Exception ex)
                    {
                        Logger.LogException("Protocol", LogLevel.Error, "Exception occured while sending publish event to subscriber.", ex);
                    }
                }
#if !(MF_FRAMEWORK_VERSION_V4_3 || MF_FRAMEWORK_VERSION_V4_2 || WINDOWS_PHONE)
                );
#endif
            }

            if (!handled)
            {
                base.OnPublishReceived(args);
            }
        }
Esempio n. 4
0
        private void DoClientPublishWorkflow(MqttNetEventArgs args)
        {
            var publishMsg = (MqttPublishMessage)args.Message;

            switch (publishMsg.QualityOfService)
            {
            // Just fire event and we're done
            case QualityOfService.AtMostOnce:
                OnPublishReceived(args);
                break;

            // Must send a PubAck message
            case QualityOfService.AtLeastOnce:
                var pubAck = new MqttPublishAckMessageBuilder
                {
                    MessageId = publishMsg.MessageId,
                };
                SendMessageAsync(pubAck, null, args.ClientUid);
                OnPublishReceived(args);
                break;

            // Must send a PubRec message
            case QualityOfService.ExactlyOnce:
                var pubRec = new MqttPublishReceivedMessageBuilder
                {
                    MessageId = publishMsg.MessageId,
                };
                SendMessageAsync(pubRec, publishMsg, args.ClientUid);
                break;
            }
        }
Esempio n. 5
0
        private void ProcessException(Exception ex)
        {
            var t = new Thread(() =>
            {
                var args = new MqttNetEventArgs {
                    ClientUid = _clientUid
                };
                var ece = ex as ErrorContextException;

                if (ece != null)
                {
                    _logger.LogMessage("Socket", LogLevel.Verbose, "Processing exception " + ece.Message + ". Inner exception=" + ece.InnerException);
                    args.AdditionalErrorInfo = ece.Message;
                    args.Exception           = ece.InnerException;
                }
                else
                {
                    _logger.LogMessage("Socket", LogLevel.Verbose, "Processing exception " + ex);
                    args.Exception = ex;
                }

                MessageReceived(args);
            });

            t.Start();
        }
Esempio n. 6
0
 protected void FireMessageReceived(MqttNetEventArgs args)
 {
     if (PublishReceived != null)
     {
         PublishReceived(this, args);
     }
 }
Esempio n. 7
0
 protected void FireSubscribeMessageComplete(MqttNetEventArgs args)
 {
     OnMqttMessageCompleted(args.ClientUid, args.Message, args.EventData, args.Exception);
     if (SubscribeComplete != null)
     {
         SubscribeComplete(this, args);
     }
 }
Esempio n. 8
0
        private void SocketMessageReceived(MqttNetEventArgs args)
        {
            if (args.Message != null)
            {
                Logger.LogMessage("Protocol", LogLevel.Verbose, "Protocol notified of message received " + args.Message.MessageType + " Client Identifier=" + args.ClientUid);
                OnMessageReceived(args);

                switch (args.Message.MessageType)
                {
                case MessageType.ConnAck:
                    args.EventData = _messageStore.Remove(args.Message, args.ClientUid);
                    var conAck = args.Message as MqttConnectAckMessage;
                    if (conAck != null && conAck.ConnectReturnCode != ConnectReturnCode.Accepted)
                    {
                        Socket.Disconnect(args.ClientUid);
                    }
                    FireConnectComplete(args);
                    break;

                case MessageType.SubAck:
                    args.EventData = _messageStore.Remove(args.Message, args.ClientUid);
                    FireSubscribeMessageComplete(args);
                    break;

                case MessageType.PubAck:
                case MessageType.PubComp:
                case MessageType.UnsubAck:
                    args.EventData = _messageStore.Remove(args.Message, args.ClientUid);
                    FireSendMessageComplete(args);
                    break;

                case MessageType.Publish:
                    DoClientPublishWorkflow(args);
                    break;

                case MessageType.PubRec:
                    DoClientPublishRecWorkflow(args);
                    break;

                case MessageType.PubRel:
                    DoClientPubRelWorkflow(args);
                    break;

                case MessageType.PingResp:
                    args.EventData = _messageStore.Remove(args.Message, args.ClientUid);
                    FireSendMessageComplete(args);
                    break;
                }
            }
            else if (args.Exception != null)
            {
                Logger.LogException("Protocol", LogLevel.Verbose, "Exception occured while receiving message from server.", args.Exception);
            }
        }
Esempio n. 9
0
        private void DoClientPublishRecWorkflow(MqttNetEventArgs args)
        {
            var publishMsg = (IMqttIdMessage)args.Message;

            object eventData = _messageStore.Remove(args.Message, args.ClientUid);
            var    pubRel    = new MqttPublishReleaseMessageBuilder
            {
                MessageId = publishMsg.MessageId,
            };

            SendMessageAsync(pubRel, eventData, args.ClientUid);
        }
Esempio n. 10
0
        protected void FireSendMessageComplete(MqttNetEventArgs args)
        {
            //string dataStr = args.EventData == null ? "(null)" : args.EventData.GetType().ToString();
            //string exceptionStr = args.Exception == null ? "(null)" : args.Exception.ToString();
            //string messageType = args.Message == null ? "(null)" : args.Message.MessageType.ToString();
            //Logger.LogMessage("Protocol", LogLevel.Verbose, "Firing SendMessageCompete event. ClientID=" + args.ClientUid + " Message=" + messageType + " EventData=" + dataStr + ", Exception=" + exceptionStr);

            OnMqttMessageCompleted(args.ClientUid, args.Message, args.EventData, args.Exception);
            if (SendMessageComplete != null)
            {
                SendMessageComplete(this, args);
            }
        }
Esempio n. 11
0
        private void ProcessBuffer(byte[] buffer, ConnectedClientInfo info)
        {
            ThreadPool.QueueUserWorkItem(state =>
            {
                // When receiving the ConnAck message, we are still using the ConnectionKey param
                // All other cases we've connected the client and use the ClientUid param
                var args = new MqttNetEventArgs
                {
                    ClientUid = info.ClientUid
                };

                try
                {
                    // Process incomming messages
                    args.Message = MqttMessageDeserializer.Deserialize(buffer);
                    if (args.Message is IMqttIdMessage)
                    {
                        var msgWithId = args.Message as IMqttIdMessage;
                        _logger.LogMessage("Socket", LogLevel.Verbose,
                                           string.Format("Received message type '{0}', ID={1}, from client {2}.", msgWithId.MessageType,
                                                         msgWithId.MessageId, info.ClientUid));
                    }
                    else
                    {
                        _logger.LogMessage("Socket", LogLevel.Verbose,
                                           string.Format("Received message type '{0}' from client {1}.", args.Message.MessageType, info.ClientUid));
                    }
                }
                catch (Exception ex)
                {
                    var outer      = new Exception(string.Format("Error deserializing message from network buffer. Buffer may be corrupt. Details: {0}", ex.Message), ex);
                    args.Exception = outer;
                    _logger.LogMessage("Socket", LogLevel.Error, outer.Message);
                }

                if (_messageReceivedHandler != null)
                {
                    _messageReceivedHandler(args);
                }
            });
        }
Esempio n. 12
0
        private void DoClientPubRelWorkflow(MqttNetEventArgs args)
        {
            var publishRelMsg = (IMqttIdMessage)args.Message;

            // Pop the original publish message to pass to the client
            object data = _messageStore.Remove(args.Message, args.ClientUid);

            args.Message = data as MqttPublishMessage;
            if (args.Message != null)
            {
                var pubComp = new MqttPublishCompleteMessageBuilder
                {
                    MessageId = publishRelMsg.MessageId,
                };
                SendMessageAsync(pubComp, null, args.ClientUid);
                OnPublishReceived(args);
            }
            else
            {
                Logger.LogMessage("Protocol", LogLevel.Warning, "Received PubRel message but no pending publishes were found. Client Identifier=" + args.ClientUid);
            }
        }
Esempio n. 13
0
        protected override void OnPublishReceived(MqttNetEventArgs args)
        {
            bool handled = false;
            lock (_subscriptionClients)
            {
                // Send to subscriber clients first
#if !(MF_FRAMEWORK_VERSION_V4_3 || MF_FRAMEWORK_VERSION_V4_2 || WINDOWS_PHONE)
                Parallel.For(0, _subscriptionClients.Count, i =>
#else
                for (int i = 0; i < _subscriptionClients.Count; i++)
#endif
                {
                    var client = (SubscriptionClient)_subscriptionClients.GetAt(i);
                    try
                    {
                        bool clientHandled = client.NotifyPublishReceived(args.Message as MqttPublishMessage);
                        handled = handled | clientHandled;
                    }
                    catch (Exception ex)
                    {
                        Logger.LogException("Protocol", LogLevel.Error, "Exception occured while sending publish event to subscriber.", ex);
                    }
                }
Esempio n. 14
0
        private void MqttOnConnectComplete(object sender, MqttNetEventArgs args)
        {
            var t = args.EventData as TaskCompletionSource<MqttConnectAckMessage>;
            if (t == null)
            {
                return;
            }

            if (args.Exception == null)
            {
                _clientUid = args.ClientUid;
                t.TrySetResult(args.Message as MqttConnectAckMessage);
            }
            else
            {
                t.TrySetException(args.Exception);
            }
        }
Esempio n. 15
0
 private void MqttOnPublishReceived(object sender, MqttNetEventArgs args)
 {
     // For this platform, only publishes not handled by a subscription client will end up here
     if (args.Message.MessageType == MessageType.Publish)
     {
         if (UnhandledPublishReceived != null)
         {
             UnhandledPublishReceived(this, new MqttPublishMessageEventArgs
             {
                 Exception = args.Exception,
                 Message = args.Message as MqttPublishMessage
             });
         }
     }
 }
Esempio n. 16
0
        private async void ProcessBuffer(byte[] buffer)
        {
            await Windows.System.Threading.ThreadPool.RunAsync(state =>
            {
                var args = new MqttNetEventArgs {ClientUid = _clientUid};

                try
                {
                    // Process incomming messages
                    args.Message = MqttMessageDeserializer.Deserialize(buffer);
                    if (args.Message is IMqttIdMessage)
                    {
                        var msgWithId = args.Message as IMqttIdMessage;
                        _logger.LogMessage("Socket", LogLevel.Verbose, string.Format("Received message type '{0}', ID={1} from server.", msgWithId.MessageType, msgWithId.MessageId));
                    }
                    else
                    {
                        _logger.LogMessage("Socket", LogLevel.Verbose, string.Format("SOCKET: Received message type '{0}' from server.", args.Message.MessageType));
                    }
                }
                catch (Exception ex)
                {
                    args.Exception = ex;
                }

                _messageReceivedHandler(args);
            });
        }
Esempio n. 17
0
        private void ProcessBuffer(byte[] buffer, ConnectedClientInfo info)
        {
            ThreadPool.QueueUserWorkItem(state =>
            {
                // When receiving the ConnAck message, we are still using the ConnectionKey param
                // All other cases we've connected the client and use the ClientUid param
                var args = new MqttNetEventArgs
                {
                    ClientUid = info.ClientUid
                };

                try
                {
                    // Process incomming messages
                    args.Message = MqttMessageDeserializer.Deserialize(buffer);
                    if (args.Message is IMqttIdMessage)
                    {
                        var msgWithId = args.Message as IMqttIdMessage;
                        _logger.LogMessage("Socket", LogLevel.Verbose,
                            string.Format("Received message type '{0}', ID={1}, from client {2}.", msgWithId.MessageType,
                                msgWithId.MessageId, info.ClientUid));
                    }
                    else
                    {
                        _logger.LogMessage("Socket", LogLevel.Verbose,
                            string.Format("Received message type '{0}' from client {1}.", args.Message.MessageType, info.ClientUid));
                    }
                }
                catch (Exception ex)
                {
                    var outer = new Exception(string.Format("Error deserializing message from network buffer. Buffer may be corrupt. Details: {0}", ex.Message), ex);
                    args.Exception = outer;
                    _logger.LogMessage("Socket", LogLevel.Error, outer.Message);
                }

                if (_messageReceivedHandler != null)
                {
                    _messageReceivedHandler(args);
                }
            });
        }
Esempio n. 18
0
 protected virtual void OnMessageReceived(MqttNetEventArgs args)
 {
 }
Esempio n. 19
0
 protected void FireSubscribeMessageComplete(MqttNetEventArgs args)
 {
     OnMqttMessageCompleted(args.ClientUid, args.Message, args.EventData, args.Exception);
     if (SubscribeComplete != null)
     {
         SubscribeComplete(this, args);
     }
 }
Esempio n. 20
0
 private void FireConnectionComplete(object sender, MqttNetEventArgs args)
 {
     if (ConnectionComplete != null)
     {
         ConnectionComplete(this, new MqttConnectMessageEventArgs()
         {
             Exception = args.Exception,
             AdditionalErrorInfo = args.AdditionalErrorInfo,
             Message = args.Message as MqttConnectAckMessage
         });
     }
 }
Esempio n. 21
0
 private void MqttOnSubscribeComplete(object sender, MqttNetEventArgs args)
 {
     FireSubscribeComplete(this, args);
 }
Esempio n. 22
0
 private void MqttOnPublishReceived(object sender, MqttNetEventArgs args)
 {
     if (args.Message.MessageType == MessageType.Publish)
     {
         if (PublishReceived != null)
         {
             PublishReceived(this, new MqttPublishMessageEventArgs
             {
                 Exception = args.Exception,
                 Message = args.Message as MqttPublishMessage
             });
         }
     }
 }
Esempio n. 23
0
        private void MqttOnOperationComplete(object sender, MqttNetEventArgs args)
        {
            var t = args.EventData as TaskCompletionSource<object>;
            if (t == null)
            {
                return;
            }

            if (args.Exception == null)
            {
                t.TrySetResult(null);
            }
            else
            {
                t.TrySetException(args.Exception);
            }
        }
Esempio n. 24
0
 protected void FireMessageReceived(MqttNetEventArgs args)
 {
     if (PublishReceived != null)
     {
         PublishReceived(this, args);
     }
 }
Esempio n. 25
0
        protected void FireSendMessageComplete(MqttNetEventArgs args)
        {
            //string dataStr = args.EventData == null ? "(null)" : args.EventData.GetType().ToString();
            //string exceptionStr = args.Exception == null ? "(null)" : args.Exception.ToString();
            //string messageType = args.Message == null ? "(null)" : args.Message.MessageType.ToString();
            //Logger.LogMessage("Protocol", LogLevel.Verbose, "Firing SendMessageCompete event. ClientID=" + args.ClientUid + " Message=" + messageType + " EventData=" + dataStr + ", Exception=" + exceptionStr);

            OnMqttMessageCompleted(args.ClientUid, args.Message, args.EventData, args.Exception);
            if (SendMessageComplete != null)
            {
                SendMessageComplete(this, args);
            }
        }
Esempio n. 26
0
 private void MqttOnConnectComplete(object sender, MqttNetEventArgs args)
 {
     if (!_subscribed && _callback != null && args.Exception != null)
     {
         _clientUid = args.ClientUid;
         SubscribeToTopic();
     }
 }
Esempio n. 27
0
 private void FireSubscribeComplete(object sender, MqttNetEventArgs args)
 {
     if (SubscribeComplete != null)
     {
         SubscribeComplete(this, new MqttSubscribeMessageEventArgs()
         {
             Exception = args.Exception,
             AdditionalErrorInfo = args.AdditionalErrorInfo,
             Message = args.Message as MqttSubscribeAckMessage
         });
     }
 }
Esempio n. 28
0
        private void MqttOnSubscribeComplete(object sender, MqttNetEventArgs args)
        {
            var t = args.EventData as TaskCompletionSource<MqttSubscribeAckMessage>;
            if (t == null)
            {
                return;
            }

            if (args.Exception == null)
            {
                t.TrySetResult(args.Message as MqttSubscribeAckMessage);
            }
            else
            {
                t.TrySetException(args.Exception);
            }
        }
Esempio n. 29
0
 protected virtual void OnPublishReceived(MqttNetEventArgs args)
 {
     FireMessageReceived(args);
 }
Esempio n. 30
0
        private void SocketMessageReceived(MqttNetEventArgs args)
        {
            if (args.Message != null)
            {
                Logger.LogMessage("Protocol", LogLevel.Verbose, "Protocol notified of message received " + args.Message.MessageType + " Client Identifier=" + args.ClientUid);
                OnMessageReceived(args);

                switch (args.Message.MessageType)
                {
                    case MessageType.ConnAck:
                        args.EventData = _messageStore.Remove(args.Message, args.ClientUid);
                        var conAck = args.Message as MqttConnectAckMessage;
                        if (conAck != null && conAck.ConnectReturnCode != ConnectReturnCode.Accepted)
                        {
                            Socket.Disconnect(args.ClientUid);
                        }
                        FireConnectComplete(args);
                        break;

                    case MessageType.SubAck:
                        args.EventData = _messageStore.Remove(args.Message, args.ClientUid);
                        FireSubscribeMessageComplete(args);
                        break;

                    case MessageType.PubAck:
                    case MessageType.PubComp:
                    case MessageType.UnsubAck:
                        args.EventData = _messageStore.Remove(args.Message, args.ClientUid);
                        FireSendMessageComplete(args);
                        break;

                    case MessageType.Publish:
                        DoClientPublishWorkflow(args);
                        break;

                    case MessageType.PubRec:
                        DoClientPublishRecWorkflow(args);
                        break;

                    case MessageType.PubRel:
                        DoClientPubRelWorkflow(args);
                        break;

                    case MessageType.PingResp:
                        args.EventData = _messageStore.Remove(args.Message, args.ClientUid);
                        FireSendMessageComplete(args);
                        break;
                }
            }
            else if (args.Exception != null)
            {
                Logger.LogException("Protocol", LogLevel.Verbose, "Exception occured while receiving message from server.", args.Exception);
            }
        }
Esempio n. 31
0
        private void ProcessBuffer(byte[] buffer)
        {
            var t = new Thread(() =>
            {
                var args = new MqttNetEventArgs { ClientUid = _clientUid };

                try
                {
                    // Process incomming messages
                    args.Message = MqttMessageDeserializer.Deserialize(buffer);

                    string id = "N/A";
                    if (args.Message is IMqttIdMessage)
                    {
                        id = ((IMqttIdMessage)args.Message).MessageId.ToString();
                    }
                    _logger.LogMessage("Socket", LogLevel.Verbose,
                        "Received message type " + args.Message.MessageType +
                        ", QOS=" + args.Message.QualityOfService +
                        ", ID=" + id);
                }
                catch (Exception ex)
                {
                    args.Exception = ex;
                }

                MessageReceived(args);
            });
            t.Start();
        }
Esempio n. 32
0
 private void MessageReceived(MqttNetEventArgs args)
 {
     _messageReceivedHandler(args);
 }
Esempio n. 33
0
 protected virtual void OnMessageReceived(MqttNetEventArgs args)
 {
     
 }
Esempio n. 34
0
        private void ProcessException(Exception ex)
        {
            var t = new Thread(() =>
            {
                var args = new MqttNetEventArgs { ClientUid = _clientUid };
                var ece = ex as ErrorContextException;

                if (ece != null)
                {
                    _logger.LogMessage("Socket", LogLevel.Verbose, "Processing exception " + ece.Message + ". Inner exception=" + ece.InnerException);
                    args.AdditionalErrorInfo = ece.Message;
                    args.Exception = ece.InnerException;
                }
                else
                {
                    _logger.LogMessage("Socket", LogLevel.Verbose, "Processing exception " + ex);
                    args.Exception = ex;
                }

                MessageReceived(args);
            });
            t.Start();
        }
Esempio n. 35
0
        private void DoClientPublishWorkflow(MqttNetEventArgs args)
        {
            var publishMsg = (MqttPublishMessage)args.Message;

            switch (publishMsg.QualityOfService)
            {
                // Just fire event and we're done
                case QualityOfService.AtMostOnce:
                    OnPublishReceived(args);
                    break;

                // Must send a PubAck message
                case QualityOfService.AtLeastOnce:
                    var pubAck = new MqttPublishAckMessageBuilder
                    {
                        MessageId = publishMsg.MessageId,
                    };
                    SendMessageAsync(pubAck, null, args.ClientUid);
                    OnPublishReceived(args);
                    break;

                // Must send a PubRec message
                case QualityOfService.ExactlyOnce:
                    var pubRec = new MqttPublishReceivedMessageBuilder
                    {
                        MessageId = publishMsg.MessageId,
                    };
                    SendMessageAsync(pubRec, publishMsg, args.ClientUid);
                    break;
            }
        }
Esempio n. 36
0
 private void MqttOnConnectComplete(object sender, MqttNetEventArgs args)
 {
     _clientUid = args.ClientUid;
     FireConnectionComplete(this, args);
 }
Esempio n. 37
0
        private void DoClientPublishRecWorkflow(MqttNetEventArgs args)
        {
            var publishMsg = (IMqttIdMessage)args.Message;

            object eventData = _messageStore.Remove(args.Message, args.ClientUid);
            var pubRel = new MqttPublishReleaseMessageBuilder
            {
                MessageId = publishMsg.MessageId,
            };
            SendMessageAsync(pubRel, eventData, args.ClientUid);
        }
Esempio n. 38
0
        private void MqttOnSendMessageComplete(object sender, MqttNetEventArgs args)
        {
            if (args.EventData == null)
            {
                return;
            }

            var type = (MessageType)args.EventData;
            switch (type)
            {
                case MessageType.Unsubscribe:
                    FireUnsubscribeComplete(this, args);
                    break;

                case MessageType.Publish:
                    FirePublishMessageComplete(this, args);
                    break;

                case MessageType.Disconnect:
                    FireDisconnectCompleted(this, args);
                    break;

                case MessageType.PingReq:
                    FirePingComplete(this, args);
                    break;
            }
        }
Esempio n. 39
0
        private void DoClientPubRelWorkflow(MqttNetEventArgs args)
        {
            var publishRelMsg = (IMqttIdMessage)args.Message;

            // Pop the original publish message to pass to the client
            object data = _messageStore.Remove(args.Message, args.ClientUid);
            args.Message = data as MqttPublishMessage;
            if (args.Message != null)
            {
                var pubComp = new MqttPublishCompleteMessageBuilder
                {
                    MessageId = publishRelMsg.MessageId,
                };
                SendMessageAsync(pubComp, null, args.ClientUid);
                OnPublishReceived(args);
            }
            else
            {
                Logger.LogMessage("Protocol", LogLevel.Warning, "Received PubRel message but no pending publishes were found. Client Identifier=" + args.ClientUid);
            }
        }
Esempio n. 40
0
 private void FireDisconnectCompleted(object sender, MqttNetEventArgs args)
 {
     if (DisconnectComplete != null)
     {
         DisconnectComplete(this, new MqttMessageEventArgs()
         {
             Exception = args.Exception,
             AdditionalErrorInfo = args.AdditionalErrorInfo,
             Message = args.Message
         });
     }
 }
Esempio n. 41
0
 private void MessageReceived(MqttNetEventArgs args)
 {
     _messageReceivedHandler(args);
 }
Esempio n. 42
0
 private void FirePublishMessageComplete(object sender, MqttNetEventArgs args)
 {
     if (PublishMessageComplete != null)
     {
         PublishMessageComplete(this, new MqttMessageEventArgs()
         {
             Exception = args.Exception,
             AdditionalErrorInfo = args.AdditionalErrorInfo,
             Message = args.Message
         });
     }
 }
Esempio n. 43
0
 protected virtual void OnPublishReceived(MqttNetEventArgs args)
 {
     FireMessageReceived(args);
 }