private void Write(MqttPropertyId id, string value)
        {
            if (value == null)
            {
                return;
            }

            _packetWriter.Write((byte)id);
            _packetWriter.WriteWithLengthPrefix(value);
        }
Пример #2
0
        public void WriteUserProperties(List <MqttUserProperty> userProperties)
        {
            if (userProperties == null || userProperties.Count == 0)
            {
                return;
            }

            foreach (var property in userProperties)
            {
                _packetWriter.Write((byte)MqttPropertyId.UserProperty);
                _packetWriter.WriteWithLengthPrefix(property.Name);
                _packetWriter.WriteWithLengthPrefix(property.Value);
            }
        }
Пример #3
0
        public void WritePacket()
        {
            var writer = new MqttPacketWriter();

            Assert.AreEqual(0, writer.Length);

            writer.WriteWithLengthPrefix("1234567890");
            Assert.AreEqual(10 + 2, writer.Length);

            writer.WriteWithLengthPrefix(new byte[300]);
            Assert.AreEqual(300 + 2 + 12, writer.Length);

            writer.WriteWithLengthPrefix(new byte[5000]);
            Assert.AreEqual(5000 + 2 + 300 + 2 + 12, writer.Length);
        }
        public void WriteUserProperties(List <MqttUserProperty> userProperties)
        {
            if (userProperties == null || userProperties.Count == 0)
            {
                return;
            }

            var propertyWriter = new MqttPacketWriter();

            foreach (var property in userProperties)
            {
                propertyWriter.WriteWithLengthPrefix(property.Name);
                propertyWriter.WriteWithLengthPrefix(property.Value);
            }

            _packetWriter.Write((byte)MqttPropertyId.UserProperty);
            _packetWriter.WriteVariableLengthInteger((uint)propertyWriter.Length);
            _packetWriter.Write(propertyWriter);
        }