Skip to main content

Module framework

Module framework 

Source
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