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 byte[] GetMessageBytes() { //Check if optional parameter message_payload is present Tlv.Tlv tlv = Tlv.GetTlvByTag(Tag.message_payload); if (tlv == null) { return(null); } else { return(tlv.RawValue); } }
public override byte[] GetMessageBytes() { if (_vMessageBytes != null) { return(_vMessageBytes); } //Otherwise, check if the 'message_payload' field is used Tlv.Tlv tlv = VTlv.GetTlvByTag(Tag.MessagePayload); if (tlv == null) { return(null); } return(tlv.RawValue); }
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); }