func ParsePort(rawPort string) (int, error)
ParsePort parses the port number string and returns an int
func ParsePortRange(ports string) (uint64, uint64, error)
ParsePortRange parses and validates the specified string as a port-range (8000-9000)
func ParsePortRangeToInt(rawPort string) (int, int, error)
ParsePortRangeToInt parses the port range string and returns start/end ints
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 Sort(ports []Port, predicate func(i, j Port) bool)
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(ports []Port, bindings PortMap)
SortPortMap sorts the list of ports and their respected mapping. The ports will explicit HostPort will be placed first.
func SplitProtoPort(rawPort string) (string, string)
SplitProtoPort splits a port in the format of proto/port
Port is a string containing port number and protocol in the format "80/tcp"
type Port string
func NewPort(proto, port string) (Port, error)
NewPort creates a new instance of a Port given a protocol and port number or port range
func (p Port) Int() int
Int returns the port number of a Port as an int
func (p Port) Port() string
Port returns the port number of a Port
func (p Port) Proto() string
Proto returns the protocol of a Port
func (p Port) Range() (int, int, error)
Range returns the start/end port numbers of a Port range as ints
PortBinding represents a binding between a Host IP address and a Host Port
type PortBinding struct { // HostIP is the host IP Address HostIP string `json:"HostIp"` // HostPort is the host port number HostPort string }
PortMap is a collection of PortBinding indexed by Port
type PortMap map[Port][]PortBinding
PortMapping is a data object mapping a Port to a PortBinding
type PortMapping struct { Port Port Binding PortBinding }
func ParsePortSpec(rawPort string) ([]PortMapping, error)
ParsePortSpec parses a port specification string into a slice of PortMappings
PortSet is a collection of structs indexed by Port
type PortSet map[Port]struct{}