Skip to main content

ServerBuilder

Struct ServerBuilder 

Source
pub struct ServerBuilder { /* private fields */ }

Implementations§

Source§

impl ServerBuilder

Source

pub fn consensus_driver(self, driver: Arc<dyn ConsensusDriver>) -> Self

Source

pub fn clock(self, clock: Arc<dyn Clock>) -> Self

Source

pub fn window_ahead(self, window_ahead: Duration) -> Self

Source

pub fn failover_advance(self, failover_advance: Duration) -> Self

Source

pub fn shutdown_grace(self, shutdown_grace: Duration) -> Self

Bound on how long a graceful shutdown waits for the leader-watch task to stop cooperatively before forcibly aborting it.

On shutdown the server drops the watch task’s cancel signal and waits for it to publish NotServing and return. That wait is normally near-instant, but the task observes cancellation only at its select! boundaries — never inside a fence attempt. A consensus driver whose load_high_water / persist_high_water never returns (the trait places no latency bound) would otherwise park the task mid-fence and block process exit indefinitely, leading to a SIGKILL on a Kubernetes drain. Once shutdown_grace elapses the server aborts the task so exit always makes progress. Set this comfortably below your deployment’s terminationGracePeriodSeconds. Defaults to 10s. A value of zero aborts immediately without waiting for a cooperative stop.

Source

pub fn heartbeat_interval(self, interval: Duration) -> Self

Interval between heartbeat log lines emitted at target = "tsoracle::heartbeat". Defaults to 10 seconds. Pass Duration::ZERO to disable the heartbeat task entirely.

The heartbeat surfaces serving role, current epoch, requests served, timestamps issued, and key error counters every interval — proof-of-life for production deployments that may not have a metrics exporter installed.

Requires feature = "tracing" to emit output; with tracing off the setter is accepted but no task is spawned (no subscriber to log to).

Source

pub fn tls_config(self, cfg: ServerTlsConfig) -> Self

Configure TLS termination for this server. Applied inside Server::serve, Server::serve_with_shutdown, and Server::serve_with_listener. Not applied to Server::into_router — embedders mounting tsoracle alongside their own services control TLS on their own tonic builder.

Source

pub fn build(self) -> Result<Server, BuildError>

Trait Implementations§

Source§

impl Default for ServerBuilder

Source§

fn default() -> Self

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