public void BasicSerialization() { MqttPingRequestMessage pingReqMsg = new MqttPingRequestMessage(); byte[] bytes = MessageSerializationHelper.GetMessageBytes(pingReqMsg); Assert.Equal <byte>(192, bytes[0]); }
/// <summary> /// Parse bytes for a PINGREQ message /// </summary> /// <param name="fixedHeaderFirstByte">First fixed header byte</param> /// <param name="protocolVersion">Protocol Version</param> /// <param name="channel">Channel connected to the broker</param> /// <returns>PINGREQ message instance</returns> public static MqttPingRequestMessage Parse(byte fixedHeaderFirstByte, byte protocolVersion, IMqttNetworkChannel channel) { MqttPingRequestMessage msg = new MqttPingRequestMessage(); if (protocolVersion == MqttConnectMessage.PROTOCOL_VERSION_V3_1_1) { // [v3.1.1] check flag bits if ((fixedHeaderFirstByte & MSG_FLAG_BITS_MASK) != MQTT_MSG_PINGREQ_FLAG_BITS) { throw new MqttClientException(MqttClientErrorCode.InvalidFlagBits); } } // already know remaininglength is zero (MQTT specification), // so it isn't necessary to read other data from socket int remainingLength = MqttMessage.DecodeRemainingLength(channel); return(msg); }