Documentation ¶
Index ¶
Constants ¶
View Source
const ( DefaultPortRangeStart = 49153 DefaultPortRangeEnd = 65535 )
Variables ¶
View Source
var ( ErrAllPortsAllocated = errors.New("all ports are allocated") ErrUnknownProtocol = errors.New("unknown protocol") )
View Source
var ( DefaultPortAllocator = New() RequestPort = DefaultPortAllocator.RequestPort ReleasePort = DefaultPortAllocator.ReleasePort ReleaseAll = DefaultPortAllocator.ReleaseAll )
Functions ¶
Types ¶
type ErrPortAlreadyAllocated ¶
type ErrPortAlreadyAllocated struct {
// contains filtered or unexported fields
}
func NewErrPortAlreadyAllocated ¶
func NewErrPortAlreadyAllocated(ip string, port int) ErrPortAlreadyAllocated
func (ErrPortAlreadyAllocated) Error ¶
func (e ErrPortAlreadyAllocated) Error() string
func (ErrPortAlreadyAllocated) IP ¶
func (e ErrPortAlreadyAllocated) IP() string
func (ErrPortAlreadyAllocated) IPPort ¶
func (e ErrPortAlreadyAllocated) IPPort() string
func (ErrPortAlreadyAllocated) Port ¶
func (e ErrPortAlreadyAllocated) Port() int
type PortAllocator ¶
type PortAllocator struct {
// contains filtered or unexported fields
}
func New ¶
func New() *PortAllocator
func (*PortAllocator) ReleaseAll ¶
func (p *PortAllocator) ReleaseAll() error
ReleaseAll releases all ports for all ips.
func (*PortAllocator) ReleasePort ¶
ReleasePort releases port from global ports pool for specified ip and proto.
func (*PortAllocator) RequestPort ¶
RequestPort requests new port from global ports pool for specified ip and proto. If port is 0 it returns first free port. Otherwise it cheks port availability in pool and return that port or error if port is already busy.
Click to show internal directories.
Click to hide internal directories.