Skip to main content

ManagedLeaseFactory

Struct ManagedLeaseFactory 

Source
pub struct ManagedLeaseFactory { /* private fields */ }
Expand description

Managed lease factory that will create a new lease and keep it alive until it is dropped.

Implementations§

Source§

impl ManagedLeaseFactory

Source

pub fn spawn(etcd: Client) -> (Self, JoinHandle<()>)

Create a new managed lease factory. This will spawn a new task that will handle the lease creation and keep alive.

Source

pub fn spawn_on(etcd: Client, rt: Handle) -> (Self, JoinHandle<()>)

Create a new managed lease factory. This will spawn a new task that will handle the lease creation and keep alive.

Arguments:

  • etcd - The etcd client to use.
  • rt - The runtime handle to spawn tasks on.
Source

pub async fn new_lease_with_auto_refresh_limit( &self, ttl: Duration, keepalive_interval: Option<Duration>, auto_refresh_limit: Option<usize>, ) -> Result<ManagedLease, Error>

Create a new managed lease with the given time-to-live (TTL), keepalive interval and auto refresh limit. The lease will be kept alive until it is dropped OR until the lease has been refresh auto_refresh_limit times.

Arguments:

  • ttl - The time-to-live for the lease.
  • keepalive_interval - The interval to keep the lease alive.
  • auto_refresh_limit - The number of times to auto refresh the lease.
Source

pub async fn new_lease( &self, ttl: Duration, keepalive_interval: Option<Duration>, ) -> Result<ManagedLease, Error>

Create a new managed lease with the given time-to-live (TTL) and keepalive interval.

Managed lease have automatic keep alive mechanism that will keep the lease alive until it is dropped.

The ttl must be at least two (2) seconds.

Keepalive interval is optional, if not provided it will be half of the ttl.

Arguments:

  • ttl - The time-to-live for the lease.
  • keepalive_interval - The interval to keep the lease alive.

Trait Implementations§

Source§

impl Clone for ManagedLeaseFactory

Source§

fn clone(&self) -> ManagedLeaseFactory

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

Auto Trait Implementations§

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

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

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

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

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> IntoRequest<T> for T

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
Source§

impl<L> LayerExt<L> for L

Source§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in Layered.
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.
Source§

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

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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