pub struct RaftRequestWithSignal {
pub id: String,
pub payloads: Vec<EntryPayload>,
pub senders: Vec<MaybeCloneOneshotSender<Result<ClientResponse, Status>>>,
pub wait_for_apply_event: bool,
}Expand description
Request with response channel that can handle all Raft payload types
Fields§
§id: String§payloads: Vec<EntryPayload>§senders: Vec<MaybeCloneOneshotSender<Result<ClientResponse, Status>>>Multiple senders for merged requests (1 sender per payload, matched by index) Invariant: senders.len() == payloads.len()
wait_for_apply_event: boolDoes this request need to wait for StateMachine’s ApplyCompleted event?
true: Command payload → must wait for state machine applyfalse: Noop/Config payload → respond immediately after commit
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RaftRequestWithSignal
impl !RefUnwindSafe for RaftRequestWithSignal
impl Send for RaftRequestWithSignal
impl Sync for RaftRequestWithSignal
impl Unpin for RaftRequestWithSignal
impl UnsafeUnpin for RaftRequestWithSignal
impl !UnwindSafe for RaftRequestWithSignal
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
Mutably borrows from an owned value. Read more
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request