Module framework

Source
Available on crate features proxy-handshake or client-handshake only.
Expand description

Framework for helping implement a handshake function

Each kind of handshake should:

  • impl HandshakeImpl, supplying a handshake_impl which does the actual work.

  • Provide the public fn handshake function, in terms of the provided method HandshakeImpl::run_handshake.

  • Derive Handshake.

Macros§

derive_deftly_template_Handshake 🔒
Macro-generated components for a handshake outer state structure

Structs§

Buffer
An input buffer containing maybe some socks data
Finished
A completed handshake
PreciseReads
Marker indicating precise reads
RecvStep
Next step - details for reading from the peer

Enums§

ImplNextStep 🔒
The internal (implementation-side) representation of the next step to take
NextStep
Next step to take in the handshake

Traits§

Handshake
Handshake
HandshakeImpl 🔒
Handshakes: SocksClientHandshake or SocksProxyHandshake
HasHandshakeOutput 🔒
Handshake structs whose output can be obtained
HasHandshakeState 🔒
Handshake structs that have a state that can be Failed
ReadPrecision
Markers indicating whether we’re allowing read-ahead,
ReadPrecisionSealed
Sealed, and adjustment of RecvStep::buf