Method: Codec::Prefixedlength#decode
- Defined in:
- lib/codec/prefix.rb
#decode(buffer) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/codec/prefix.rb', line 14 def decode(buffer) l, buf = @length_codec.decode(buffer) len = get_length(l) if len == 0 f = Field.new f.set_id(@id) f.set_value(nil) return f,buf else begin f,remain = @value_codec.decode_with_length(buf,len) rescue => e Logger.error "Error in #{@id} decoder \n #{e.message}\n#{e.backtrace.join(10.chr)}" raise ParsingException, e. end f.set_id(@id) return f,remain end end |