61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
# File 'lib/codec/prefix.rb', line 61
def decode(buffer, f, length=nil)
f.set_value("") buffer = buffer.slice!(0...length) if length && length > 0
initial_len = buffer.size
head = Field.new(@header_id)
content = Field.new(@content_id)
@length_codec.decode(buffer,head)
h_len = initial_len - buffer.size
f.add_sub_field(head)
len = get_length(head)
if len > 0
len -= h_len if @total_length
@value_codec.decode(buffer, content, len)
f.add_sub_field(content)
end
end
|