Class: ForwardMachine::PortsPool

Inherits:
SortedSet
  • Object
show all
Defined in:
lib/forwardmachine/ports_pool.rb

Overview

PortsPool from which ports will be taken for creating port forwards.

Instance Method Summary collapse

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

#reserveObject

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