//! Sans-IO implementation of SOCKS4 and SOCKS4a.
//!
//! SOCKS4 is the classic, pre-RFC protocol: a single request/response
//! exchange over TCP with a NUL-terminated user identifier, supporting the
//! `CONNECT` and `BIND` commands. SOCKS4a extends it with a trailing domain
//! name so that DNS resolution can be deferred to the server - the direct
//! ancestor of the SOCKS5h mode.
//!
//! As with [`crate::socks5`], this module only encodes and decodes messages;
//! it does not impose a state machine on the caller.
pub use ;
pub use ;
/// The SOCKS4 protocol version byte (`VN`) of client requests.
pub const REQUEST_VERSION: u8 = 0x04;
/// The version byte (`VN`) of SOCKS4 server responses; the classic protocol
/// replies with a NUL here rather than with the request version.
pub const RESPONSE_VERSION: u8 = 0x00;