pub trait ServerConnectionHandler<T: IdentityType>: Send + Sync {
// Required methods
fn generate(&self, initial_data: &[u8]) -> T;
fn initial_data(&self, identity: &T) -> StaticByteBuffer;
fn verify_version(&self, version_bytes: &[u8]) -> bool;
}Expand description
Server-side connection handler: generates identities, produces server initial data, and checks client version.
Required Methods§
Sourcefn generate(&self, initial_data: &[u8]) -> T
fn generate(&self, initial_data: &[u8]) -> T
Derive a client session identity from the client’s decrypted initial data bytes.
Sourcefn initial_data(&self, identity: &T) -> StaticByteBuffer
fn initial_data(&self, identity: &T) -> StaticByteBuffer
Produce initial data to include in the server handshake response for the given identity.
Sourcefn verify_version(&self, version_bytes: &[u8]) -> bool
fn verify_version(&self, version_bytes: &[u8]) -> bool
Check whether the client version (from the handshake tailer ID field) is compatible.
Returns true if the handshake should proceed, false if it should be rejected.
Implementations are responsible for any logging before returning.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".