Struct ServiceOptions

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

Various configuration options that can be provided when binding a service

Implementations§

Source§

impl ServiceOptions

Source

pub fn new() -> Self

Source

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.

Source

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.

Source

pub fn idempotency_retention(self, retention: Duration) -> Self

The retention duration of idempotent requests to this service.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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

Source§

fn clone(&self) -> ServiceOptions

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ServiceOptions

Source§

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

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

impl Default for ServiceOptions

Source§

fn default() -> ServiceOptions

Returns the “default value” for a type. 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> 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

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

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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

impl<T> Same for T

Source§

type Output = T

Should always be Self
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