Skip to main content

ServerConnectionHandler

Trait ServerConnectionHandler 

Source
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§

Source

fn generate(&self, initial_data: &[u8]) -> T

Derive a client session identity from the client’s decrypted initial data bytes.

Source

fn initial_data(&self, identity: &T) -> StaticByteBuffer

Produce initial data to include in the server handshake response for the given identity.

Source

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".

Implementors§