public void PingCallsSendMessageCompleteEventWithEventData() { var are = new AutoResetEvent(false); var eventData = "Test data"; var moqSocket = new MoqSocket(); var client = new MqttClientProtocol(new LogCompositor(), moqSocket); var bldr = new MqttPingRequestMessageBuilder(); client.SendMessageComplete += (sender, args) => { Assert.AreSame(eventData, args.EventData); Assert.IsTrue(moqSocket.SentMessages.Contains(MessageType.PingReq)); are.Set(); }; client.SendMessageAsync(bldr, eventData, null); if (!are.WaitOne(5000)) { Assert.Fail("SendMessageComplete event not fired for PingRequest."); } }
public void PingToFailedBrokerCallsNetworkErrorEventAfterTimeout() { var are = new AutoResetEvent(false); var eventData = "Test data"; var moqSocket = new MoqSocket { DoNotRespond = true }; MqttProtocolInformation.Settings.NetworkTimeout = 5; // 5 seconds var client = new MqttClientProtocol(new LogCompositor(), moqSocket); var bldr = new MqttPingRequestMessageBuilder(); client.SendMessageComplete += (sender, args) => Assert.Fail(); client.NetworkError += (sender, args) => are.Set(); client.SendMessageAsync(bldr, eventData, null); if (!are.WaitOne(MqttProtocolInformation.Settings.NetworkTimeout * 1000 + 5000)) { Assert.Fail("NetworkError event not fired for PingRequest."); } }
public IAsyncAction PingAsync() { var msgBuilder = new MqttPingRequestMessageBuilder(); return(SendMessageAsync(msgBuilder)); }
public void PingAsync() { var msgBuilder = new MqttPingRequestMessageBuilder(); SendMessageAsync(msgBuilder); }