pub struct ClientEndpoint { /* private fields */ }
Expand description

A QUIC Client Endpoint for using JSON-RPC.

Based on the QUINN library’s implementation of QUIC.

The quinn::ClientConfig struct keeps all its state private after it’s been set, which is a pain for unit testing. The rustls::ClientConfig exposes a couple of fields you can use to verify configuration has been set correctly. That’s the reason the additional crypto_config and idle_timeout fields have been added; however, it could be beneficial for users of ClientEndpoint to be able to read these fields.

Strictly speaking of course, it would still be possible for idle_timeout in this struct and the private idle timeout to be set to different values, but there’s not much we can do if the quinn developers choose to not expose the information.

Implementations§

source§

impl ClientEndpoint

source

pub fn new<P: AsRef<Path>>( cert_path: P, idle_timeout: Option<u64>, enable_keylog: bool ) -> Result<Self>

Create a new ClientEndpoint instance.

The path of a certificate is required.

An optional idle timeout can be specified in milliseconds; otherwise a default of 18 seconds will be used.

If enable_keylog is true, key logging will be output to the path specified by the SSLKEYLOGFILE environment variable, which is required to be set.

source

pub fn bind(&self) -> Result<OutgoingConn>

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · 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 Twhere U: From<T>,

const: unstable · 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
§

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

§

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