void WriteAsFourByteInteger(MqttPropertyId id, uint value)
 {
     _bufferWriter.WriteByte((byte)id);
     _bufferWriter.WriteByte((byte)(value >> 24));
     _bufferWriter.WriteByte((byte)(value >> 16));
     _bufferWriter.WriteByte((byte)(value >> 8));
     _bufferWriter.WriteByte((byte)value);
 }
        void Write(MqttPropertyId id, byte[] value)
        {
            if (value == null)
            {
                return;
            }

            _bufferWriter.WriteByte((byte)id);
            _bufferWriter.WriteBinaryData(value);
        }
Example #3
0
        void Write(MqttPropertyId id, ushort?value)
        {
            if (!value.HasValue)
            {
                return;
            }

            _packetWriter.Write((byte)id);
            _packetWriter.Write(value.Value);
        }
        void Write(MqttPropertyId id, string value)
        {
            if (string.IsNullOrEmpty(value))
            {
                return;
            }

            _bufferWriter.WriteByte((byte)id);
            _bufferWriter.WriteString(value);
        }
Example #5
0
        void Write(MqttPropertyId id, byte[] value)
        {
            if (value == null)
            {
                return;
            }

            _packetWriter.Write((byte)id);
            _packetWriter.WriteWithLengthPrefix(value);
        }
Example #6
0
        void Write(MqttPropertyId id, bool?value)
        {
            if (!value.HasValue)
            {
                return;
            }

            _packetWriter.Write((byte)id);
            _packetWriter.Write(value.Value ? (byte)0x1 : (byte)0x0);
        }
Example #7
0
        private void WriteAsVariableLengthInteger(MqttPropertyId id, uint?value)
        {
            if (!value.HasValue)
            {
                return;
            }

            _packetWriter.Write((byte)id);
            _packetWriter.WriteVariableLengthInteger(value.Value);
        }
Example #8
0
        void WriteAsFourByteInteger(MqttPropertyId id, uint?value)
        {
            if (!value.HasValue)
            {
                return;
            }

            _packetWriter.Write((byte)id);
            _packetWriter.Write((byte)(value.Value >> 24));
            _packetWriter.Write((byte)(value.Value >> 16));
            _packetWriter.Write((byte)(value.Value >> 8));
            _packetWriter.Write((byte)value.Value);
        }
        public bool MoveNext()
        {
            if (_length == 0)
            {
                return(false);
            }

            if (_body.Offset >= _targetOffset)
            {
                return(false);
            }

            CurrentPropertyId = (MqttPropertyId)_body.ReadByte();
            return(true);
        }
Example #10
0
        public bool MoveNext()
        {
            while (true)
            {
                if (_length == 0)
                {
                    return(false);
                }

                if (_body.Position >= _targetOffset)
                {
                    return(false);
                }

                CurrentPropertyId = (MqttPropertyId)_body.ReadByte();

                // User properties are special because they can appear multiple times in the
                // buffer and at any position. So we collect them here to expose them as a
                // final result list.
                if (CurrentPropertyId == MqttPropertyId.UserProperty)
                {
                    var name  = _body.ReadString();
                    var value = _body.ReadString();

                    if (CollectedUserProperties == null)
                    {
                        CollectedUserProperties = new List <MqttUserProperty>();
                    }

                    CollectedUserProperties.Add(new MqttUserProperty(name, value));
                    continue;
                }

                return(true);
            }
        }
 void WriteAsVariableByteInteger(MqttPropertyId id, uint value)
 {
     _bufferWriter.WriteByte((byte)id);
     _bufferWriter.WriteVariableByteInteger(value);
 }
 void Write(MqttPropertyId id, ushort value)
 {
     _bufferWriter.WriteByte((byte)id);
     _bufferWriter.WriteTwoByteInteger(value);
 }
 void Write(MqttPropertyId id, byte value)
 {
     _bufferWriter.WriteByte((byte)id);
     _bufferWriter.WriteByte(value);
 }
 void Write(MqttPropertyId id, bool value)
 {
     _bufferWriter.WriteByte((byte)id);
     _bufferWriter.WriteByte(value ? (byte)0x1 : (byte)0x0);
 }
Example #15
0
 void WriteAsVariableLengthInteger(MqttPropertyId id, uint value)
 {
     _packetWriter.Write((byte)id);
     _packetWriter.WriteVariableLengthInteger(value);
 }