pub struct RPCOption { /* private fields */ }
Expand description
An additional argument to the RaftNetwork
methods to allow applications to customize
networking behaviors.
Implementations§
source§impl RPCOption
impl RPCOption
pub fn new(hard_ttl: Duration) -> Self
sourcepub fn soft_ttl(&self) -> Duration
pub fn soft_ttl(&self) -> Duration
The moderate max interval an RPC should last for.
The hard_ttl()
and soft_ttl()
of RPCOption
sets the hard limit and the moderate
limit of the duration for which an RPC should run. Once the soft_ttl()
ends, the RPC
implementation should start to gracefully cancel the RPC, and once the hard_ttl()
ends,
Openraft will terminate the ongoing RPC at once.
soft_ttl
is smaller than hard_ttl()
so that the RPC implementation can cancel the RPC
gracefully after soft_ttl
and before hard_ttl
.
soft_ttl
is 3/4 of hard_ttl
but it may change in future, do not rely on this ratio.
sourcepub fn hard_ttl(&self) -> Duration
pub fn hard_ttl(&self) -> Duration
The hard limit of the interval an RPC should last for.
When exceeding this limit, the RPC will be dropped by Openraft at once.
sourcepub fn snapshot_chunk_size(&self) -> Option<usize>
pub fn snapshot_chunk_size(&self) -> Option<usize>
Get the recommended size of the snapshot chunk for transport.