Methods
Classes and Modules
Class Net::SSH::Service::Forward::Driver
Class Net::SSH::Service::Forward::LocalNetworkHandler
Class Net::SSH::Service::Forward::RemoteNetworkHandler
Public Instance methods
register_services( container )

Register the services pertaining to port forwarding.

    # File lib/net/ssh/service/forward/services.rb, line 23
23:         def register_services( container )
24: 
25:           # All port forwarding services go in the :forward namespace.
26:           container.namespace_define :forward do |ns|
27: 
28:             # The :driver service manages all port forwarding. It is declared
29:             # as deferred so that it is not actually instantiated until it is
30:             # used--otherwise, it would be instantiated as soon as it was added
31:             # to the list of available services, whether it was ever used or
32:             # not.
33:             ns.driver :model => :singleton_deferred do |c,p|
34:               require 'net/ssh/service/forward/driver'
35:               Driver.new( c[:connection][:driver],
36:                           c[:transport][:buffers],
37:                           c[:log_for, p],
38:                           :local => c[:local_network_handler],
39:                           :remote => c[:remote_network_handler] )
40:             end
41: 
42:             # A constant service, used to indicate the maximum block size to be
43:             # passed over a forwarded connection.
44:             ns.read_block_size { 64 * 1024 }
45: 
46:             # The :local_network_handler service returns a proc object that
47:             # creates new LocalNetworkHandler instances for a given client
48:             # connection. This is used for forwarding ports on the local host.
49:             ns.local_network_handler :model => :singleton_deferred do |c,p|
50:               require 'net/ssh/service/forward/local-network-handler'
51:               log = c[:log_for, p]
52:               block_size = c[:read_block_size]
53:               lambda do |client|
54:                 LocalNetworkHandler.new( log, block_size, client )
55:               end
56:             end
57: 
58:             # The :remote_network_handler service returns a proc object that
59:             # creates new RemoteNetworkHandler instances for a given port and
60:             # host. This is used for forwarding ports on a remote host.
61:             ns.remote_network_handler :model => :singleton_deferred do |c,p|
62:               require 'net/ssh/service/forward/remote-network-handler'
63:               log = c[:log_for, p]
64:               block_size = c[:read_block_size]
65:               lambda do |port, host|
66:                 RemoteNetworkHandler.new( log, block_size, port, host )
67:               end
68:             end
69:           end
70:         end