pub struct HttpPeer {
pub _address: SocketAddr,
pub scheme: Scheme,
pub sni: String,
pub proxy: Option<Proxy>,
pub client_cert_key: Option<Arc<CertKey>>,
pub group_key: u64,
pub options: PeerOptions,
}
Expand description
A peer representing the remote HTTP server to connect to
Fields§
§_address: SocketAddr
§scheme: Scheme
§sni: String
§proxy: Option<Proxy>
§client_cert_key: Option<Arc<CertKey>>
§group_key: u64
a custom field to isolate connection reuse. Requests with different group keys cannot share connections with each other.
options: PeerOptions
Implementations§
Source§impl HttpPeer
impl HttpPeer
pub fn is_tls(&self) -> bool
Sourcepub fn new<A: ToInetSocketAddrs>(address: A, tls: bool, sni: String) -> Self
pub fn new<A: ToInetSocketAddrs>(address: A, tls: bool, sni: String) -> Self
Create a new HttpPeer
with the given socket address and TLS settings.
Trait Implementations§
Source§impl Peer for HttpPeer
impl Peer for HttpPeer
Source§fn address(&self) -> &SocketAddr
fn address(&self) -> &SocketAddr
The remote address to connect to
Source§fn reuse_hash(&self) -> u64
fn reuse_hash(&self) -> u64
Source§fn get_peer_options(&self) -> Option<&PeerOptions>
fn get_peer_options(&self) -> Option<&PeerOptions>
Get the additional options to connect to the peer. Read more
Source§fn get_mut_peer_options(&mut self) -> Option<&mut PeerOptions>
fn get_mut_peer_options(&mut self) -> Option<&mut PeerOptions>
Get the additional options for modification.
fn matches_fd<V: AsRawFd>(&self, fd: V) -> bool
Source§fn get_client_cert_key(&self) -> Option<&Arc<CertKey>>
fn get_client_cert_key(&self) -> Option<&Arc<CertKey>>
Get the client cert and key for mutual TLS if any
fn get_tracer(&self) -> Option<Tracer>
Source§fn verify_cert(&self) -> bool
fn verify_cert(&self) -> bool
Whether the TLS handshake should validate the cert of the server.
Source§fn verify_hostname(&self) -> bool
fn verify_hostname(&self) -> bool
Whether the TLS handshake should verify that the server cert matches the SNI.
Source§fn alternative_cn(&self) -> Option<&String>
fn alternative_cn(&self) -> Option<&String>
The alternative common name to use to verify the server cert. Read more
Source§fn bind_to(&self) -> Option<&BindTo>
fn bind_to(&self) -> Option<&BindTo>
Information about the local source address this connection should be bound to.
Source§fn connection_timeout(&self) -> Option<Duration>
fn connection_timeout(&self) -> Option<Duration>
How long connect() call should be wait before it returns a timeout error.
Source§fn total_connection_timeout(&self) -> Option<Duration>
fn total_connection_timeout(&self) -> Option<Duration>
How long the overall connection establishment should take before a timeout error is returned.
Source§fn idle_timeout(&self) -> Option<Duration>
fn idle_timeout(&self) -> Option<Duration>
If the connection can be reused, how long the connection should wait to be reused before it
shuts down.
Source§fn get_ca(&self) -> Option<&Arc<CaType>>
fn get_ca(&self) -> Option<&Arc<CaType>>
Get the CA cert to use to validate the server cert. Read more
Source§fn tcp_keepalive(&self) -> Option<&TcpKeepalive>
fn tcp_keepalive(&self) -> Option<&TcpKeepalive>
The TCP keepalive setting that should be applied to this connection
Source§fn h2_ping_interval(&self) -> Option<Duration>
fn h2_ping_interval(&self) -> Option<Duration>
The interval H2 pings to send to the server if any
Source§fn tcp_recv_buf(&self) -> Option<usize>
fn tcp_recv_buf(&self) -> Option<usize>
The size of the TCP receive buffer should be limited to. See SO_RCVBUF for more details.
Source§fn dscp(&self) -> Option<u8>
fn dscp(&self) -> Option<u8>
The DSCP value that should be applied to the send side of this connection.
See the RFC for more details.
Source§fn tcp_fast_open(&self) -> bool
fn tcp_fast_open(&self) -> bool
Whether to enable TCP fast open.
Auto Trait Implementations§
impl Freeze for HttpPeer
impl !RefUnwindSafe for HttpPeer
impl Send for HttpPeer
impl Sync for HttpPeer
impl Unpin for HttpPeer
impl !UnwindSafe for HttpPeer
Blanket Implementations§
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)