#[non_exhaustive]pub struct PeerOptions {Show 23 fields
pub bind_to: Option<BindTo>,
pub connection_timeout: Option<Duration>,
pub total_connection_timeout: Option<Duration>,
pub read_timeout: Option<Duration>,
pub idle_timeout: Option<Duration>,
pub write_timeout: Option<Duration>,
pub verify_cert: bool,
pub verify_hostname: bool,
pub alternative_cn: Option<String>,
pub alpn: ALPN,
pub ca: Option<Arc<Box<[X509]>>>,
pub tcp_keepalive: Option<TcpKeepalive>,
pub tcp_recv_buf: Option<usize>,
pub dscp: Option<u8>,
pub h2_ping_interval: Option<Duration>,
pub max_h2_streams: usize,
pub extra_proxy_headers: BTreeMap<String, Vec<u8>>,
pub curves: Option<&'static str>,
pub second_keyshare: bool,
pub tcp_fast_open: bool,
pub tracer: Option<Tracer>,
pub custom_l4: Option<Arc<dyn Connect + Sync + Send>>,
pub upstream_tcp_sock_tweak_hook: Option<Arc<dyn Fn(&TcpSocket) -> Result<(), Box<Error>> + Sync + Send>>,
}Expand description
The preferences to connect to a remote server
See Peer for the meaning of the fields
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.bind_to: Option<BindTo>§connection_timeout: Option<Duration>§total_connection_timeout: Option<Duration>§read_timeout: Option<Duration>§idle_timeout: Option<Duration>§write_timeout: Option<Duration>§verify_cert: bool§verify_hostname: bool§alternative_cn: Option<String>§alpn: ALPN§ca: Option<Arc<Box<[X509]>>>§tcp_keepalive: Option<TcpKeepalive>§tcp_recv_buf: Option<usize>§dscp: Option<u8>§h2_ping_interval: Option<Duration>§max_h2_streams: usize§extra_proxy_headers: BTreeMap<String, Vec<u8>>§curves: Option<&'static str>§tcp_fast_open: bool§tracer: Option<Tracer>§custom_l4: Option<Arc<dyn Connect + Sync + Send>>§upstream_tcp_sock_tweak_hook: Option<Arc<dyn Fn(&TcpSocket) -> Result<(), Box<Error>> + Sync + Send>>Implementations§
Source§impl PeerOptions
impl PeerOptions
Sourcepub fn new() -> PeerOptions
pub fn new() -> PeerOptions
Create a new PeerOptions
Sourcepub fn set_http_version(&mut self, max: u8, min: u8)
pub fn set_http_version(&mut self, max: u8, min: u8)
Set the ALPN according to the max and min constrains.
Trait Implementations§
Source§impl Clone for PeerOptions
impl Clone for PeerOptions
Source§fn clone(&self) -> PeerOptions
fn clone(&self) -> PeerOptions
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PeerOptions
impl Debug for PeerOptions
Auto Trait Implementations§
impl Freeze for PeerOptions
impl !RefUnwindSafe for PeerOptions
impl Send for PeerOptions
impl Sync for PeerOptions
impl Unpin for PeerOptions
impl !UnwindSafe for PeerOptions
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
Source§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
Source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref