class Net::SSH::Test::RemotePacket

  1. lib/net/ssh/test/remote_packet.rb
Parent: Test

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.

Methods

Public Instance

  1. process
  2. remote?
  3. to_s

Public Instance methods

process (packet)

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.

[show source]
# 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? ()

Returns true; this is a remote packet.

[show source]
# File lib/net/ssh/test/remote_packet.rb, line 12
def remote?
  true
end
to_s ()

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.

[show source]
# 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