Struct holochain::prelude::dependencies::kitsune_p2p_types::dependencies::rustls::ClientConfig
pub struct ClientConfig {
pub alpn_protocols: Vec<Vec<u8, Global>, Global>,
pub session_storage: Arc<dyn StoresClientSessions, Global>,
pub max_fragment_size: Option<usize>,
pub client_auth_cert_resolver: Arc<dyn ResolvesClientCert, Global>,
pub enable_tickets: bool,
pub enable_sni: bool,
pub key_log: Arc<dyn KeyLog, Global>,
pub enable_early_data: bool,
/* private fields */
}
Expand description
Common configuration for (typically) all connections made by a program.
Making one of these can be expensive, and should be once per process rather than once per connection.
These must be created via the ClientConfig::builder()
function.
Defaults
ClientConfig::max_fragment_size
: the default isNone
: TLS packets are not fragmented to a specific size.ClientConfig::session_storage
: the default stores 256 sessions in memory.ClientConfig::alpn_protocols
: the default is empty – no ALPN protocol is negotiated.ClientConfig::key_log
: key material is not logged.
Fields§
§alpn_protocols: Vec<Vec<u8, Global>, Global>
Which ALPN protocols we include in our client hello. If empty, no ALPN extension is sent.
session_storage: Arc<dyn StoresClientSessions, Global>
How we store session data or tickets.
max_fragment_size: Option<usize>
The maximum size of TLS message we’ll emit. If None, we don’t limit TLS message lengths except to the 2**16 limit specified in the standard.
rustls enforces an arbitrary minimum of 32 bytes for this field. Out of range values are reported as errors from ClientConnection::new.
Setting this value to the TCP MSS may improve latency for stream-y workloads.
client_auth_cert_resolver: Arc<dyn ResolvesClientCert, Global>
How to decide what client auth certificate/keys to use.
enable_tickets: bool
Whether to support RFC5077 tickets. You must provide a working
session_storage
member for this to have any meaningful
effect.
The default is true.
enable_sni: bool
Whether to send the Server Name Indication (SNI) extension during the client handshake.
The default is true.
key_log: Arc<dyn KeyLog, Global>
How to output key material for debugging. The default does nothing.
enable_early_data: bool
Whether to send data on the first flight (“early data”) in TLS 1.3 handshakes.
The default is false.
Implementations§
§impl ClientConfig
impl ClientConfig
pub fn builder() -> ConfigBuilder<ClientConfig, WantsCipherSuites>
pub fn builder() -> ConfigBuilder<ClientConfig, WantsCipherSuites>
Create a builder to build up the client configuration.
For more information, see the ConfigBuilder
documentation.
pub fn dangerous(&mut self) -> DangerousClientConfig<'_>
pub fn dangerous(&mut self) -> DangerousClientConfig<'_>
Access configuration options whose use is dangerous and requires extra care.
Trait Implementations§
§impl ClientConfig for ClientConfig
impl ClientConfig for ClientConfig
§fn start_session(
self: Arc<ClientConfig, Global>,
version: u32,
server_name: &str,
params: &TransportParameters
) -> Result<Box<dyn Session, Global>, ConnectError>
fn start_session( self: Arc<ClientConfig, Global>, version: u32, server_name: &str, params: &TransportParameters ) -> Result<Box<dyn Session, Global>, ConnectError>
§impl Clone for ClientConfig
impl Clone for ClientConfig
§fn clone(&self) -> ClientConfig
fn clone(&self) -> ClientConfig
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for ClientConfig
impl Debug for ClientConfig
impl ConfigSide for ClientConfig
Auto Trait Implementations§
impl !RefUnwindSafe for ClientConfig
impl Send for ClientConfig
impl Sync for ClientConfig
impl Unpin for ClientConfig
impl !UnwindSafe for ClientConfig
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,
§fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.