public MqttV500PropertiesReader(IMqttPacketBodyReader body) { _body = body ?? throw new ArgumentNullException(nameof(body)); if (!body.EndOfStream) { _length = (int)body.ReadVariableLengthInteger(); } _targetOffset = body.Offset + _length; }
public void FillUserProperties(List <MqttUserProperty> userProperties) { if (userProperties == null) { throw new ArgumentNullException(nameof(userProperties)); } var userPropertiesLength = _body.ReadVariableLengthInteger(); if (userPropertiesLength == 0) { return; } var targetPosition = _body.Offset + userPropertiesLength; while (_body.Offset < targetPosition) { var name = _body.ReadStringWithLengthPrefix(); var value = _body.ReadStringWithLengthPrefix(); userProperties.Add(new MqttUserProperty(name, value)); } }
public uint ReadSubscriptionIdentifier() { return(_body.ReadVariableLengthInteger()); }