Struct ServerConfig

Source
pub struct ServerConfig { /* private fields */ }
Expand description

Configuration for a server-side QUIC. Wraps around a BoringSSL SslContext.

Implementations§

Source§

impl Config

Source

pub fn new() -> Result<Self>

Source

pub fn ctx(&self) -> &SslContext

Returns the underlying SslContext backing all created sessions.

Source

pub fn ctx_mut(&mut self) -> &mut SslContext

Returns the underlying SslContext backing all created sessions. Wherever possible use the provided methods to modify settings rather than accessing this directly.

Care should be taken to avoid overriding required behavior. In particular, this configuration will set callbacks for QUIC events, alpn selection, server name, as well as info and key logging.

Source

pub fn verify_peer(&mut self, verify: bool)

Sets whether or not the peer certificate should be verified. If true, any error during verification will be fatal. If not called, verification of the client is disabled by default.

Source

pub fn set_alpn(&mut self, alpn_protocols: &[Vec<u8>]) -> Result<()>

Sets the ALPN protocols that will be accepted by the server. QUIC requires that ALPN be used (see https://www.rfc-editor.org/rfc/rfc9001.html#section-8.1).

If this method is not called, the server will default to accepting “h3”.

Source

pub fn set_key_log(&mut self, key_log: Option<Arc<dyn KeyLog>>)

Sets the key logger.

Trait Implementations§

Source§

impl ServerConfig for Config

Source§

fn initial_keys( &self, version: u32, dst_cid: &ConnectionId, ) -> StdResult<Keys, UnsupportedVersion>

Create the initial set of keys given the client’s initial destination ConnectionId
Source§

fn retry_tag( &self, version: u32, orig_dst_cid: &ConnectionId, packet: &[u8], ) -> [u8; 16]

Generate the integrity tag for a retry packet Read more
Source§

fn start_session( self: Arc<Self>, version: u32, params: &TransportParameters, ) -> Box<dyn Session>

Start a server session with this configuration Read more

Auto Trait Implementations§

§

impl Freeze for Config

§

impl !RefUnwindSafe for Config

§

impl Send for Config

§

impl Sync for Config

§

impl Unpin for Config

§

impl !UnwindSafe for Config

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more