pub struct ConnectionOptions {
pub connection_timeout: Option<Duration>,
pub idle_timeout: Option<Duration>,
pub read_timeout: Option<Duration>,
pub total_connection_timeout: Option<Duration>,
pub write_timeout: Option<Duration>,
}Expand description
Per-upstream connection tuning (timeouts, pool settings).
use std::time::Duration;
use praxis_core::connectivity::ConnectionOptions;
let opts = ConnectionOptions {
connection_timeout: Some(Duration::from_secs(5)),
..Default::default()
};
assert_eq!(opts.connection_timeout, Some(Duration::from_secs(5)));
assert!(opts.idle_timeout.is_none());Fields§
§connection_timeout: Option<Duration>TCP connection timeout.
idle_timeout: Option<Duration>Idle connection timeout.
read_timeout: Option<Duration>Read timeout.
total_connection_timeout: Option<Duration>Total connection timeout (TCP connect + TLS handshake).
write_timeout: Option<Duration>Write timeout.
Trait Implementations§
Source§impl Clone for ConnectionOptions
impl Clone for ConnectionOptions
Source§fn clone(&self) -> ConnectionOptions
fn clone(&self) -> ConnectionOptions
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 ConnectionOptions
impl Debug for ConnectionOptions
Source§impl Default for ConnectionOptions
impl Default for ConnectionOptions
Source§fn default() -> ConnectionOptions
fn default() -> ConnectionOptions
Returns the “default value” for a type. Read more
Source§impl From<&Cluster> for ConnectionOptions
Converts cluster timeout fields (milliseconds) to Duration values.
impl From<&Cluster> for ConnectionOptions
Converts cluster timeout fields (milliseconds) to Duration values.
use std::time::Duration;
use praxis_core::{config::Cluster, connectivity::ConnectionOptions};
let cluster: Cluster = serde_yaml::from_str(
r#"
name: backend
endpoints: ["10.0.0.1:80"]
connection_timeout_ms: 5000
"#,
)
.unwrap();
let opts = ConnectionOptions::from(&cluster);
assert_eq!(opts.connection_timeout, Some(Duration::from_secs(5)));Auto Trait Implementations§
impl Freeze for ConnectionOptions
impl RefUnwindSafe for ConnectionOptions
impl Send for ConnectionOptions
impl Sync for ConnectionOptions
impl Unpin for ConnectionOptions
impl UnsafeUnpin for ConnectionOptions
impl UnwindSafe for ConnectionOptions
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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