Class: LASRpcUtils::TransportManager

Inherits:
Object
  • Object
show all
Includes:
MintLogger
Defined in:
src/las-rpc-utils/lib/las-rpc-utils/transportmanager.rb

Properties (Read/Write)

Properties (Read Only)

Constant Summary

Constants included from MintLogger

MintLogger::DEBUG, MintLogger::ERROR, MintLogger::FATAL, MintLogger::INFO, MintLogger::UNKNOWN, MintLogger::VERBOSE, MintLogger::WARN

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from MintLogger::Utils::Common

#boolean_val, #has_value?, #no_value?, #nvl, #path_as_symbol, #ruby_level_to_send

Constructor Details

#initialize(connection_launch_wait: 1.0, max_connections_per_host: -1,, global_launch_wait: 1.0) ⇒ TransportManager

connection_launch_wait: Only launch one connection to a host every n seconds max_connections_per_host: Don't ever launch more than N connections to a host. Note that this can cause deadlocks if you're not careful!

Instance Attribute Details

#connection_launch_waitObject

Returns the value of attribute connection_launch_wait.

#connection_poolObject (readonly)

Returns the value of attribute connection_pool.

#max_connections_per_hostObject

Returns the value of attribute max_connections_per_host.

Instance Method Details

#any_transport(host, type, transport_options, hop_list, parent) ⇒ Object

this for sftp and such - does not need to be unique! if it doesn't support direct, it'll be replaced by get_transport anyhow

#closeall(host, type, transport_options, _hop_list, _parent, channel_id: nil, no_allocate: false) ⇒ Object

cleanup connections - the main reason for this is why we have a hop_list update

#connection_limit_reached?Boolean

This relies on dead connections being nil'd out by get_transport - if that does not happen, obviously this will be a sad time

Returns:

  • (Boolean)

#get_new_transport(host, type, transport_options, parent, channel_id: nil) ⇒ Object

#get_transport(host, type, transport_options, hop_list, parent, channel_id: nil, no_allocate: false) ⇒ Object