pub struct ServiceOptions { /* private fields */ }
Expand description
Various configuration options that can be provided when binding a service
Implementations§
Source§impl ServiceOptions
impl ServiceOptions
pub fn new() -> Self
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 default inactivity timeout configured in the restate-server for all invocations to this service.
Sourcepub fn abort_timeout(self, timeout: Duration) -> Self
pub fn abort_timeout(self, timeout: Duration) -> Self
This timer guards against stalled service/handler invocations that are supposed to terminate. The abort timeout is started after the inactivity_timeout has expired and the service/handler invocation has been asked to gracefully terminate. Once the timer expires, it will abort the service/handler 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 default abort timeout configured in the restate-server for all invocations to this service.
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 journal_retention(self, retention: Duration) -> Self
pub fn journal_retention(self, retention: Duration) -> Self
The journal retention. When set, this applies to all requests to all handlers of this service.
In case the request has an idempotency key, the idempotency_retention caps the journal retention time.
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 service. This is
relevant only for workflows and virtual objects.
Sourcepub fn ingress_private(self, private: bool) -> Self
pub fn ingress_private(self, private: bool) -> Self
When set to true
this service, with all its handlers, cannot be invoked from the restate-server
HTTP and Kafka ingress, but only from other services.
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 service definition. This metadata is shown on the Admin API when querying the service definition.
Sourcepub fn handler(
self,
handler_name: impl Into<String>,
options: HandlerOptions,
) -> Self
pub fn handler( self, handler_name: impl Into<String>, options: HandlerOptions, ) -> Self
Handler-specific options.
Note: If you provide a handler name for a non-existing handler, binding the service will panic!.
Trait Implementations§
Source§impl Clone for ServiceOptions
impl Clone for ServiceOptions
Source§fn clone(&self) -> ServiceOptions
fn clone(&self) -> ServiceOptions
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 ServiceOptions
impl Debug for ServiceOptions
Source§impl Default for ServiceOptions
impl Default for ServiceOptions
Source§fn default() -> ServiceOptions
fn default() -> ServiceOptions
Auto Trait Implementations§
impl Freeze for ServiceOptions
impl RefUnwindSafe for ServiceOptions
impl Send for ServiceOptions
impl Sync for ServiceOptions
impl Unpin for ServiceOptions
impl UnwindSafe for ServiceOptions
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