| // 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() | |
| } |