class Net::SSH::Test::RemotePacket

This is a specialization of Net::SSH::Test::Packet for representing mock packets that are received by the local (client) host. These are created automatically by Net::SSH::Test::Script and Net::SSH::Test::Channel by any of the gets_* methods.

Public Instance Methods

process(packet) click to toggle source

The process method should only be called on Net::SSH::Test::LocalPacket packets; if it is attempted on a remote packet, then it is an expectation mismatch (a remote packet was received when a local packet was expected to be sent). This will happen when either your test script (Net::SSH::Test::Script) or your program are wrong.

# File lib/net/ssh/test/remote_packet.rb, line 21
def process(packet)
  raise "received packet type #{packet.read_byte} and was not expecting any packet"
end
remote?() click to toggle source

Returns true; this is a remote packet.

# File lib/net/ssh/test/remote_packet.rb, line 12
def remote?
  true
end
to_s() click to toggle source

Returns this remote packet as a string, suitable for parsing by Net::SSH::Transport::PacketStream and friends. When a remote packet is received, this method is called and the result concatenated onto the input buffer for the packet stream.

# File lib/net/ssh/test/remote_packet.rb, line 29
def to_s
  @to_s ||= begin
    instantiate!
    string = Net::SSH::Buffer.from(:byte, @type, *types.zip(@data).flatten).to_s
    [string.length, string].pack("NA*")
  end
end