Skip to main content

KeepAlive

Struct KeepAlive 

Source
pub struct KeepAlive<F, E>
where F: Fn() -> E + Clone,
{ /* private fields */ }
Expand description

Middleware that fails readiness once the service has been idle too long.

Every call records the current time and passes the request through unchanged. When no call has been made for the keep-alive duration, ready fails with the error produced by f.

Implementations§

Source§

impl<F, E> KeepAlive<F, E>
where F: Fn() -> E + Clone,

Source

pub fn new(ka: Millis, f: F) -> KeepAlive<F, E>

Creates keep-alive middleware.

ka is the maximum idle time between calls, and f creates the error returned once it is exceeded.

Trait Implementations§

Source§

impl<F, E> Clone for KeepAlive<F, E>
where F: Fn() -> E + Clone,

Source§

fn clone(&self) -> KeepAlive<F, E>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<F, E> Debug for KeepAlive<F, E>
where F: Fn() -> E + Clone,

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<F, E, St, Req> ServiceFactory<St, Req> for KeepAlive<F, E>
where F: Fn() -> E + Clone,

Source§

type Res = Req

Response produced by the created services.
Source§

type Error = E

Error produced by the created services.
Source§

type Service = KeepAliveService<F, E>

The type of Service produced by this factory.
Source§

type InitError = Infallible

Error that can occur while constructing a service.
Source§

async fn create( &self, _: &St, ) -> Result<<KeepAlive<F, E> as ServiceFactory<St, Req>>::Service, <KeepAlive<F, E> as ServiceFactory<St, Req>>::InitError>

Asynchronously creates a service using the supplied state.
Source§

async fn pipeline( &self, st: St, ) -> Result<Pipeline<Req, Self::Res, Self::Error>, Self::InitError>
where Self: 'static, St: 'static, Req: 'static,

Creates a service and wraps it with its state in a Pipeline.
Source§

fn map<F, Res>( self, f: F, ) -> ServiceChainFactory<MapFactory<F, Self, Res>, St, Req>
where Self: Sized, F: Fn(Self::Res) -> Res + Clone,

Returns a factory whose services map responses to a different type.
Source§

fn map_err<F, E>( self, f: F, ) -> ServiceChainFactory<MapErrFactory<F, Self, E>, St, Req>
where Self: Sized, F: Fn(Self::Error) -> E + Clone,

Returns a factory whose services map errors to a different type.
Source§

fn map_init_err<F, E>( self, f: F, ) -> ServiceChainFactory<MapInitErr<F, Self, E>, St, Req>
where Self: Sized, F: Fn(Self::InitError) -> E + Clone,

Maps this factory’s initialization error to a different error, returning a new service factory.
Source§

fn and_then<U, F>( self, f: F, ) -> ServiceChainFactory<AndThenFactory<Self, U>, St, Req>
where Self: Sized, U: ServiceFactory<St, Self::Res, Error = Self::Error, InitError = Self::InitError>, F: IntoServiceFactory<U, St, Self::Res>,

Chains another factory after this factory’s services. Read more
Source§

fn boxed( self, ) -> BoxServiceFactory<St, Req, Self::Res, Self::Error, Self::InitError>
where St: 'static, Req: 'static, Self: Sized + 'static,

Creates a boxed service factory.

Auto Trait Implementations§

§

impl<F, E> Freeze for KeepAlive<F, E>
where F: Freeze,

§

impl<F, E> RefUnwindSafe for KeepAlive<F, E>
where F: RefUnwindSafe,

§

impl<F, E> Send for KeepAlive<F, E>
where F: Send,

§

impl<F, E> Sync for KeepAlive<F, E>
where F: Sync,

§

impl<F, E> Unpin for KeepAlive<F, E>
where F: Unpin,

§

impl<F, E> UnsafeUnpin for KeepAlive<F, E>
where F: UnsafeUnpin,

§

impl<F, E> UnwindSafe for KeepAlive<F, E>
where F: UnwindSafe,

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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<Sf, St, Req> IntoServiceFactory<Sf, St, Req> for Sf
where Sf: ServiceFactory<St, Req>,

Source§

fn into_factory(self) -> Sf

Converts this value into a service factory.
Source§

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

Source§

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>,

Source§

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>,

Source§

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.