pub struct ChainedSessionsConfig {
pub session_validity: Duration,
pub max_sessions: usize,
}Fields§
§session_validity: Duration§max_sessions: usizeMaximum number of concurrent chained sessions.
This is a budget on long-lived connections, not on memory: each pending chained session can
tie up a wait-for-result connection (browser) and a next-session connection (Yivi
server, woken ~10×/second in drip mode), all drawn from the shared connection pool. A
too-high value would let anonymously-started chained sessions starve ordinary login/hub
traffic, so keep this well below the number of connections the server can sustain. Once the
maximum is reached new chained sessions are refused with
api::auths::AuthStartResp::ChainedSessionsTemporarilyUnavailable until the
session_validity expiry drains the table; in-flight sessions are never evicted.
Trait Implementations§
Source§impl Clone for ChainedSessionsConfig
impl Clone for ChainedSessionsConfig
Source§fn clone(&self) -> ChainedSessionsConfig
fn clone(&self) -> ChainedSessionsConfig
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 ChainedSessionsConfig
impl Debug for ChainedSessionsConfig
Source§impl Default for ChainedSessionsConfig
impl Default for ChainedSessionsConfig
Source§impl<'de> Deserialize<'de> for ChainedSessionsConfig
impl<'de> Deserialize<'de> for ChainedSessionsConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ChainedSessionsConfig
impl RefUnwindSafe for ChainedSessionsConfig
impl Send for ChainedSessionsConfig
impl Sync for ChainedSessionsConfig
impl Unpin for ChainedSessionsConfig
impl UnsafeUnpin for ChainedSessionsConfig
impl UnwindSafe for ChainedSessionsConfig
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§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 more