Method: Codec::Bertlv#build_field

Defined in:
lib/codec/tlv.rb

#build_field(buf, length) ⇒ Object



145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'lib/codec/tlv.rb', line 145

def build_field(buf,length)
  msg = Field.new(@id)
  buffer = buf[0,length]
  while buffer.length > 0
    tag,buffer = tag_decode(buffer)
    f = Field.new(tag)
    value_length,buffer = length_decode(buffer)
    value, buffer = value_decode(buffer,value_length)
	  f.set_value(value)
	  msg.add_sub_field(f)
  end
  return msg
end