// docker-proxy provides a network Proxy interface and implementations for TCP // and UDP. package main // ipVersion refers to IP version - v4 or v6 type ipVersion string const ( // IPv4 is version 4 ip4 ipVersion = "4" // IPv6 is version 6 ip6 ipVersion = "6" ) // Proxy defines the behavior of a proxy. It forwards traffic back and forth // between two endpoints : the frontend and the backend. // It can be used to do software port-mapping between two addresses. // e.g. forward all traffic between the frontend (host) 127.0.0.1:3000 // to the backend (container) at 172.17.42.108:4000. type Proxy interface { // Run starts forwarding traffic back and forth between the front // and back-end addresses. Run() // Close stops forwarding traffic and close both ends of the Proxy. Close() }