Skip to main content

encode_v1

Function encode_v1 

Source
pub fn encode_v1(
    source: SocketAddr,
    destination: SocketAddr,
    out: &mut [u8],
) -> Result<usize, ProxyError>
Available on crate feature proxy only.
Expand description

Writes a v1 header for a proxied TCP connection; returns its length (at most 107). For a proxy that speaks PROXY to its backends.

let mut out = [0u8; 107];
let n = net_io::encode_v1(
    "192.0.2.1:5000".parse().unwrap(),
    "192.0.2.2:80".parse().unwrap(),
    &mut out,
)?;
assert_eq!(&out[..n], b"PROXY TCP4 192.0.2.1 192.0.2.2 5000 80\r\n");

ยงErrors

FamilyMismatch when the two addresses differ in family, OutputTooSmall.