logo
#[non_exhaustive]
pub enum TtlExtensionPolicy {
    OnEveryRequest,
    OnStateChanges,
}
Expand description

Configuration for which events should trigger an extension of the time-to-live for your session.

If you are using a BrowserSession, TtlExtensionPolicy controls how often the TTL of the session state should be refreshed. The browser is in control of the lifecycle of the session cookie.

If you are using a PersistentSession, TtlExtensionPolicy controls both the expiration of the session cookie and the TTL of the session state.

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.

OnEveryRequest

The TTL is refreshed every time the server receives a request associated with a session.

Performance impact

Refreshing the TTL on every request is not free. It implies a refresh of the TTL on the session state. This translates into a request over the network if you are using a remote system as storage backend (e.g. Redis). This impacts both the total load on your storage backend (i.e. number of queries it has to handle) and the latency of the requests served by your server.

OnStateChanges

The TTL is refreshed every time the session state changes or the session key is renewed.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more