Method: Rex::Java::Serialization::Model::BlockDataLong#decode
- Defined in:
- lib/rex/java/serialization/model/block_data_long.rb
#decode(io) ⇒ self
Deserializes a Rex::Java::Serialization::Model::BlockDataLong
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/rex/java/serialization/model/block_data_long.rb', line 30 def decode(io) raw_length = io.read(4) if raw_length.nil? || raw_length.length != 4 raise Rex::Java::Serialization::DecodeError, 'Failed to unserialize BlockDataLong' end self.length = raw_length.unpack('N')[0] if length == 0 self.contents = '' else self.contents = io.read(length) if contents.nil? || contents.length != length raise Rex::Java::Serialization::DecodeError, 'Failed to unserialize BlockData' end end self end |