class Rex::Proto::Rmi::Model::Call

This class provides a representation of an RMI call message

Attributes

call_data[RW]

@!attribute call_data

@return [Rex::Proto::Rmi::Model::CallData] the call data
message_id[RW]

@!attribute message_id

@return [Fixnum] the message id

Private Instance Methods

decode_call_data(io) click to toggle source

Reads and deserializes the call data from the IO

@param io [IO] the IO to read from @return [Rex::Java::Serialization::Model::Stream]

# File lib/rex/proto/rmi/model/call.rb, line 36
def decode_call_data(io)
  call_data = Rex::Proto::Rmi::Model::CallData.decode(io)

  call_data
end
decode_message_id(io) click to toggle source

Reads the message id from the IO

@param io [IO] the IO to read from @return [String] @raise [Rex::Proto::Rmi::DecodeError] if fails to decode the message id

# File lib/rex/proto/rmi/model/call.rb, line 23
def decode_message_id(io)
  message_id = read_byte(io)
  unless message_id == CALL_MESSAGE
    raise Rex::Proto::Rmi::DecodeError, 'Failed to decode Call message id'
  end

  message_id
end
encode_call_data() click to toggle source

Encodes the address field

@return [String]

# File lib/rex/proto/rmi/model/call.rb, line 52
def encode_call_data
  call_data.encode
end
encode_message_id() click to toggle source

Encodes the message_id field

@return [String]

# File lib/rex/proto/rmi/model/call.rb, line 45
def encode_message_id
  [message_id].pack('C')
end