Class: Pgai::Port::Manager
- Inherits:
-
Object
- Object
- Pgai::Port::Manager
- Defined in:
- lib/pgai/port/manager.rb
Instance Method Summary collapse
- #forward(local_port, host, port) ⇒ Object
-
#initialize(logger: Pgai::Commander.instance.logger) ⇒ Manager
constructor
A new instance of Manager.
- #start(local_port, host, port) ⇒ Object
Constructor Details
#initialize(logger: Pgai::Commander.instance.logger) ⇒ Manager
Returns a new instance of Manager.
8 9 10 11 |
# File 'lib/pgai/port/manager.rb', line 8 def initialize(logger: Pgai::Commander.instance.logger) @logger = logger @executor = Concurrent::IndirectImmediateExecutor.new end |
Instance Method Details
#forward(local_port, host, port) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/pgai/port/manager.rb', line 13 def forward(local_port, host, port) forwarder = start(local_port, host, port) yield ensure forwarder&.stop end |
#start(local_port, host, port) ⇒ Object
20 21 22 23 24 |
# File 'lib/pgai/port/manager.rb', line 20 def start(local_port, host, port) fw = Port::Forwarder.new(local_port, host, port, logger: @logger) @executor.post(fw, &:start) fw end |