Sha256: 9e97aeec3ae0ba908b92170bdffbc0108e54b78db94ae57f28543fcd458e53a2

Contents?: true

Size: 1.53 KB

Versions: 43

Compression:

Stored size: 1.53 KB

Contents

require 'net/ssh/buffer'
require 'net/ssh/test/packet'

module Net 
  module SSH 
    module 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.
      class RemotePacket < Packet
        # Returns +true+; this is a remote packet.
        def remote?
          true
        end
    
        # 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.
        def process(packet)
          raise "received packet type #{packet.read_byte} and was not expecting any packet"
        end
    
        # 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.
        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
      end

    end
  end
end

Version data entries

43 entries across 37 versions & 3 rubygems

Version Path
vagrant-unbundled-2.2.19.0 vendor/bundle/ruby/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/test/remote_packet.rb
vagrant-unbundled-2.2.18.0 vendor/bundle/ruby/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/test/remote_packet.rb
vagrant-unbundled-2.2.16.0 vendor/bundle/ruby/3.0.0/gems/net-ssh-6.1.0/lib/net/ssh/test/remote_packet.rb
vagrant-unbundled-2.2.10.0 vendor/bundle/ruby/2.7.0/gems/net-ssh-6.1.0/lib/net/ssh/test/remote_packet.rb
net-ssh-6.1.0 lib/net/ssh/test/remote_packet.rb
vagrant-unbundled-2.2.9.0 vendor/bundle/ruby/2.7.0/gems/net-ssh-5.2.0/lib/net/ssh/test/remote_packet.rb
vagrant-unbundled-2.2.8.0 vendor/bundle/ruby/2.7.0/gems/net-ssh-5.2.0/lib/net/ssh/test/remote_packet.rb
net-ssh-6.1.0.rc1 lib/net/ssh/test/remote_packet.rb
net-ssh-6.0.2 lib/net/ssh/test/remote_packet.rb
net-ssh-6.0.1 lib/net/ssh/test/remote_packet.rb
net-ssh-6.0.0 lib/net/ssh/test/remote_packet.rb
net-ssh-6.0.0.rc1 lib/net/ssh/test/remote_packet.rb
vagrant-unbundled-2.2.7.0 vendor/bundle/ruby/2.7.0/gems/net-ssh-5.1.0/lib/net/ssh/test/remote_packet.rb
vagrant-unbundled-2.2.7.0 vendor/bundle/ruby/2.6.0/gems/net-ssh-5.1.0/lib/net/ssh/test/remote_packet.rb
net-ssh-6.0.0.beta2 lib/net/ssh/test/remote_packet.rb
honeybadger-4.5.3 vendor/bundle/ruby/2.6.0/gems/net-ssh-5.2.0/lib/net/ssh/test/remote_packet.rb
vagrant-unbundled-2.2.6.2 vendor/bundle/ruby/2.6.0/gems/net-ssh-5.1.0/lib/net/ssh/test/remote_packet.rb
net-ssh-6.0.0.beta1 lib/net/ssh/test/remote_packet.rb
vagrant-unbundled-2.2.6.1 vendor/bundle/ruby/2.6.0/gems/net-ssh-5.1.0/lib/net/ssh/test/remote_packet.rb
vagrant-unbundled-2.2.6.0 vendor/bundle/ruby/2.6.0/gems/net-ssh-5.1.0/lib/net/ssh/test/remote_packet.rb