Class: ForwardMachine::PortsPool
- Inherits:
-
SortedSet
- Object
- SortedSet
- ForwardMachine::PortsPool
- Defined in:
- lib/forwardmachine/ports_pool.rb
Overview
PortsPool from which ports will be taken for creating port forwards.
Instance Method Summary collapse
-
#initialize(range) ⇒ PortsPool
constructor
Public: Initialize pool with range of ports.
-
#release(port) ⇒ Object
Public: Release given port, puts it back in the pool makes it available for later reservation.
-
#reserve ⇒ Object
Public: Reserve one port Returns: Port number as Integer nil if no port is available.
Constructor Details
#initialize(range) ⇒ PortsPool
Public: Initialize pool with range of ports
8 9 10 |
# File 'lib/forwardmachine/ports_pool.rb', line 8 def initialize(range) super(range.to_a) end |
Instance Method Details
#release(port) ⇒ Object
Public: Release given port, puts it back in the pool makes it available for later reservation
22 23 24 |
# File 'lib/forwardmachine/ports_pool.rb', line 22 def release(port) self << port end |
#reserve ⇒ Object
Public: Reserve one port Returns: Port number as Integer
nil if no port is available
15 16 17 18 |
# File 'lib/forwardmachine/ports_pool.rb', line 15 def reserve delete(elem = first) elem end |