# 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
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§

source§

### impl Clone for TtlExtensionPolicy

source§

#### fn clone(&self) -> TtlExtensionPolicy

Returns a copy of the value. Read more
1.0.0 · source§

#### fn clone_from(&mut self, source: &Self)

Performs copy-assignment from `source`. Read more
source§

### impl Debug for TtlExtensionPolicy

source§

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

## Auto Trait Implementations§

§

### impl RefUnwindSafe for TtlExtensionPolicy

§

### impl Send for TtlExtensionPolicy

§

### impl Sync for TtlExtensionPolicy

§

### impl Unpin for TtlExtensionPolicy

§

### impl UnwindSafe for TtlExtensionPolicy

## Blanket Implementations§

source§

### impl<T> Any for T
where T: 'static + ?Sized,

source§

#### fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more
source§

### impl<T> Borrow<T> for T
where T: ?Sized,

source§

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

### impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

#### fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

### impl<T> From<T> for T

source§

#### fn from(t: T) -> T

Returns the argument unchanged.

§

### impl<T> Instrument for T

§

#### fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [`Span`], returning an `Instrumented` wrapper. Read more
§

#### fn in_current_span(self) -> Instrumented<Self>

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

### impl<T, U> Into<U> for T
where U: From<T>,

source§

#### fn into(self) -> U

Calls `U::from(self)`.

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

source§

### impl<T> Same for T

§

#### type Output = T

Should always be `Self`
source§

### impl<T> ToOwned for T
where T: Clone,

§

#### type Owned = T

The resulting type after obtaining ownership.
source§

#### fn to_owned(&self) -> T

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

#### fn clone_into(&self, target: &mut T)

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

### impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

#### type Error = Infallible

The type returned in the event of a conversion error.
source§

#### fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

### impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

#### type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

#### fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

### impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

#### fn vzip(self) -> V

§

### impl<T> WithSubscriber for T

§

#### fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided `Subscriber` to this type, returning a [`WithDispatch`] wrapper. Read more
§

#### fn with_current_subscriber(self) -> WithDispatch<Self>

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