Trait ServerConfig
pub trait ServerConfig: Send + Sync {
// Required methods
fn initial_keys(
&self,
version: u32,
dst_cid: &ConnectionId,
) -> Result<Keys, InitialKeysError>;
fn retry_tag(
&self,
version: u32,
orig_dst_cid: &ConnectionId,
packet: &[u8],
) -> Result<[u8; 16], CryptoError>;
fn start_session(
self: Arc<Self>,
version: u32,
params: &TransportParameters,
) -> Result<Box<dyn Session>, Error>;
}Available on crate features
quic and std only.Expand description
Server-side configuration for the crypto protocol
Required Methods§
fn initial_keys(
&self,
version: u32,
dst_cid: &ConnectionId,
) -> Result<Keys, InitialKeysError>
fn initial_keys( &self, version: u32, dst_cid: &ConnectionId, ) -> Result<Keys, InitialKeysError>
Create the initial set of keys given the client’s initial destination ConnectionId
fn retry_tag(
&self,
version: u32,
orig_dst_cid: &ConnectionId,
packet: &[u8],
) -> Result<[u8; 16], CryptoError>
fn retry_tag( &self, version: u32, orig_dst_cid: &ConnectionId, packet: &[u8], ) -> Result<[u8; 16], CryptoError>
Generate the integrity tag for a retry packet
Never called if initial_keys rejected version.
fn start_session(
self: Arc<Self>,
version: u32,
params: &TransportParameters,
) -> Result<Box<dyn Session>, Error>
fn start_session( self: Arc<Self>, version: u32, params: &TransportParameters, ) -> Result<Box<dyn Session>, Error>
Start a server session with this configuration
Never called if initial_keys rejected version.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".