public static Tlv Parse(ByteBuffer buffer) { //Buffer must have at least 4 bytes for tag and length plus at least one byte for the value field if (buffer.Length < 5) { throw new TlvException("Tlv required at least 5 bytes"); } Tag tag = (Tag)SMPPEncodingUtil.GetShortFromBytes(buffer.Remove(2)); ushort len = SMPPEncodingUtil.GetShortFromBytes(buffer.Remove(2)); Tlv tlv = new Tlv(tag, len); tlv.ParseValue(buffer, len); return tlv; }
public override void SetMessageBytes(byte[] message) { if (message == null) { throw new ArgumentNullException("message"); } //Check if optional parameter message_payload is present Tlv.Tlv tlv = Tlv.GetTlvByTag(Tag.message_payload); if (tlv == null) { throw new InvalidOperationException("Tlv parameter 'message_payload' is not present"); } tlv.ParseValue(message); }
public static Tlv Parse(ByteBuffer buffer) { //Buffer must have at least 4 bytes for tag and length plus at least one byte for the value field if (buffer.Length < 5) { throw new TlvException("Tlv required at least 5 bytes"); } Tag tag = (Tag)SMPPEncodingUtil.GetShortFromBytes(buffer.Remove(2)); ushort len = SMPPEncodingUtil.GetShortFromBytes(buffer.Remove(2)); Tlv tlv = new Tlv(tag, len); tlv.ParseValue(buffer, len); return(tlv); }