package nat

import "github.com/dotcloud/docker/pkg/nat"

Index

Functions

func ParsePort

func ParsePort(rawPort string) (int, error)

ParsePort parses the port number string and returns an int

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 Sort

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

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

func SplitProtoPort(rawPort string) (string, string)

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

func NewPort(proto, port string) (Port, error)

NewPort creates a new instance of a Port given a protocol and port number

func (Port) Int

func (p Port) Int() int

Int returns the port number of a Port as an int

func (Port) Port

func (p Port) Port() string

Port returns the port number of a Port

func (Port) Proto

func (p Port) Proto() string

Proto returns the protocol of a Port

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

nat.go sort.go

Version
v1.8.1
Published
Aug 13, 2015
Platform
js/wasm
Imports
6 packages
Last checked
8 seconds ago

Tools for package owners.