Struct quinn::generic::EndpointBuilder[][src]

pub struct EndpointBuilder<S> where
    S: Session
{ /* fields omitted */ }

A helper for constructing an Endpoint.

See ClientConfigBuilder for details on trust defaults.

Implementations

impl<S> EndpointBuilder<S> where
    S: Session + Send + 'static, 
[src]

pub fn new(
    config: EndpointConfig<S>,
    default_client_config: ClientConfig<S>
) -> Self
[src]

Start a builder with a specific initial low-level configuration.

pub fn bind(
    self,
    addr: &SocketAddr
) -> Result<(Endpoint<S>, Incoming<S>), EndpointError>
[src]

Build an endpoint bound to addr

Must be called from within a tokio runtime context. To avoid consuming the EndpointBuilder, call clone() first.

Platform defaults for dual-stack sockets vary. For example, any socket bound to a wildcard IPv6 address on Windows will not by default be able to communicate with IPv4 addresses. Portable applications should bind an address that matches the family they wish to communicate within.

pub fn with_socket(
    self,
    socket: UdpSocket
) -> Result<(Endpoint<S>, Incoming<S>), EndpointError>
[src]

Build an endpoint around a pre-configured socket

Must be called from within a tokio runtime context. To avoid consuming the EndpointBuilder, call clone() first.

pub fn listen(&mut self, config: ServerConfig<S>) -> &mut Self[src]

Accept incoming connections.

pub fn default_client_config(&mut self, config: ClientConfig<S>) -> &mut Self[src]

Set the default configuration used for outgoing connections.

The default can be overriden by using Endpoint::connect_with().

pub fn connection_id_generator<F: Fn() -> Box<dyn ConnectionIdGenerator> + Send + Sync + 'static>(
    &mut self,
    factory: F
) -> &mut Self
[src]

Use a customized cid generator factory in the endpoint

Trait Implementations

impl<S: Clone> Clone for EndpointBuilder<S> where
    S: Session
[src]

impl<S: Debug> Debug for EndpointBuilder<S> where
    S: Session
[src]

impl<S> Default for EndpointBuilder<S> where
    S: Session
[src]

Auto Trait Implementations

impl<S> !RefUnwindSafe for EndpointBuilder<S>

impl<S> Send for EndpointBuilder<S> where
    <S as Session>::ClientConfig: Send

impl<S> Sync for EndpointBuilder<S> where
    <S as Session>::ClientConfig: Sync

impl<S> Unpin for EndpointBuilder<S> where
    <S as Session>::ClientConfig: Unpin,
    <S as Session>::ServerConfig: Unpin

impl<S> !UnwindSafe for EndpointBuilder<S>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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