Enum actix_session::config::TtlExtensionPolicy
source · #[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 on the storage backend.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
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§
source§impl Clone for TtlExtensionPolicy
impl Clone for TtlExtensionPolicy
source§fn clone(&self) -> TtlExtensionPolicy
fn clone(&self) -> TtlExtensionPolicy
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more