pub struct HandlerOptions { /* private fields */ }
Expand description
Various configuration options that can be provided when binding a service handler
Implementations§
Source§impl HandlerOptions
impl HandlerOptions
pub fn new() -> Self
Sourcepub fn metadata(self, key: impl Into<String>, value: impl Into<String>) -> Self
pub fn metadata(self, key: impl Into<String>, value: impl Into<String>) -> Self
Custom metadata of this handler definition. This metadata is shown on the Admin API when querying the service/handler definition.
Sourcepub fn inactivity_timeout(self, timeout: Duration) -> Self
pub fn inactivity_timeout(self, timeout: Duration) -> Self
This timer guards against stalled invocations. Once it expires, Restate triggers a graceful termination by asking the invocation to suspend (which preserves intermediate progress).
The abort_timeout is used to abort the invocation, in case it doesn’t react to the request to suspend.
This overrides the inactivity timeout set for the service and the default set in restate-server.
Sourcepub fn abort_timeout(self, timeout: Duration) -> Self
pub fn abort_timeout(self, timeout: Duration) -> Self
This timer guards against stalled invocations that are supposed to terminate. The abort timeout is started after the inactivity_timeout has expired and the invocation has been asked to gracefully terminate. Once the timer expires, it will abort the invocation.
This timer potentially interrupts user code. If the user code needs longer to gracefully terminate, then this value needs to be set accordingly.
This overrides the abort timeout set for the service and the default set in restate-server.
Sourcepub fn idempotency_retention(self, retention: Duration) -> Self
pub fn idempotency_retention(self, retention: Duration) -> Self
The retention duration of idempotent requests to this service.
Sourcepub fn workflow_retention(self, retention: Duration) -> Self
pub fn workflow_retention(self, retention: Duration) -> Self
The retention duration for this workflow handler.
Sourcepub fn journal_retention(self, retention: Duration) -> Self
pub fn journal_retention(self, retention: Duration) -> Self
The journal retention for invocations to this handler.
In case the request has an idempotency key, the idempotency_retention caps the journal retention time.
Sourcepub fn ingress_private(self, private: bool) -> Self
pub fn ingress_private(self, private: bool) -> Self
When set to true
this handler cannot be invoked from the restate-server HTTP and Kafka ingress,
but only from other services.
Sourcepub fn enable_lazy_state(self, enable: bool) -> Self
pub fn enable_lazy_state(self, enable: bool) -> Self
When set to true
, lazy state will be enabled for all invocations to this handler. This is
relevant only for workflows and virtual objects.
Trait Implementations§
Source§impl Clone for HandlerOptions
impl Clone for HandlerOptions
Source§fn clone(&self) -> HandlerOptions
fn clone(&self) -> HandlerOptions
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for HandlerOptions
impl Debug for HandlerOptions
Source§impl Default for HandlerOptions
impl Default for HandlerOptions
Source§fn default() -> HandlerOptions
fn default() -> HandlerOptions
Auto Trait Implementations§
impl Freeze for HandlerOptions
impl RefUnwindSafe for HandlerOptions
impl Send for HandlerOptions
impl Sync for HandlerOptions
impl Unpin for HandlerOptions
impl UnwindSafe for HandlerOptions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more