package nat
import "github.com/docker/go-connections/nat"
Package nat is a convenience package for manipulation of strings describing network ports.
Index ¶
- func ParsePort(rawPort string) (int, error)
- func ParsePortRange(ports string) (uint64, uint64, error)
- func ParsePortRangeToInt(rawPort string) (int, int, error)
- func ParsePortSpecs(ports []string) (map[Port]struct{}, map[Port][]PortBinding, error)
- func PartParser(template, data string) (map[string]string, error)
- func Sort(ports []Port, predicate func(i, j Port) bool)
- func SortPortMap(ports []Port, bindings PortMap)
- func SplitProtoPort(rawPort string) (string, string)
- type Port
- func NewPort(proto, port string) (Port, error)
- func (p Port) Int() int
- func (p Port) Port() string
- func (p Port) Proto() string
- func (p Port) Range() (int, int, error)
- type PortBinding
- type PortMap
- type PortSet
Functions ¶
func ParsePort ¶
ParsePort parses the port number string and returns an int
func ParsePortRange ¶
ParsePortRange parses and validates the specified string as a port-range (8000-9000)
func ParsePortRangeToInt ¶
ParsePortRangeToInt parses the port range string and returns start/end ints
func ParsePortSpecs ¶
func ParsePortSpecs(ports []string) (map[Port]struct{}, map[Port][]PortBinding, error)
ParsePortSpecs receives port specs in the format of ip:public:private/proto and parses these in to the internal types
func PartParser ¶
PartParser parses and validates the specified string (data) using the specified template e.g. ip:public:private -> 192.168.0.1:80:8000
func Sort ¶
Sort sorts a list of ports using the provided predicate This function should compare `i` and `j`, returning true if `i` is considered to be less than `j`
func SortPortMap ¶
SortPortMap sorts the list of ports and their respected mapping. The ports will explicit HostPort will be placed first.
func SplitProtoPort ¶
SplitProtoPort splits a port in the format of proto/port
Types ¶
type Port ¶
type Port string
Port is a string containing port number and protocol in the format "80/tcp"
func NewPort ¶
NewPort creates a new instance of a Port given a protocol and port number or port range
func (Port) Int ¶
Int returns the port number of a Port as an int
func (Port) Port ¶
Port returns the port number of a Port
func (Port) Proto ¶
Proto returns the protocol of a Port
func (Port) Range ¶
Range returns the start/end port numbers of a Port range as ints
type PortBinding ¶
type PortBinding struct { // HostIP is the host IP Address HostIP string `json:"HostIp"` // HostPort is the host port number HostPort string }
PortBinding represents a binding between a Host IP address and a Host Port
type PortMap ¶
type PortMap map[Port][]PortBinding
PortMap is a collection of PortBinding indexed by Port
type PortSet ¶
type PortSet map[Port]struct{}
PortSet is a collection of structs indexed by Port
Source Files ¶
- Version
- v0.2.0
- Published
- Feb 12, 2016
- Platform
- js/wasm
- Imports
- 5 packages
- Last checked
- 10 hours ago –
Tools for package owners.