#[repr(u8)]pub enum DmsgType {
Show 24 variants
Unknown = 0,
Debug = 1,
ParseError = 2,
Req = 3,
ReqForward = 4,
Res = 5,
CryptoHandshake = 6,
GossipSyn = 7,
GossipSynReply = 8,
GossipAck = 9,
GossipDigestSyn = 10,
GossipDigestAck = 11,
GossipDigestAck2 = 12,
GossipShutdown = 13,
HandoffChunk = 14,
FtSearchReq = 15,
FtSearchRep = 16,
XaPrepare = 17,
XaVote = 18,
XaCommit = 19,
XaRollback = 20,
XaAck = 21,
RiakReplica = 22,
RampPrepare = 23,
}Expand description
DNODE message type identifier.
The numeric values are stable wire discriminators because the type travels on the wire as a decimal.
Variants§
Unknown = 0
Unset / unknown type.
Debug = 1
Diagnostic frame (unused on the live wire; kept for parity).
ParseError = 2
Parse-error frame (unused on the live wire; kept for parity).
Req = 3
Datastore request bound for the local DC.
ReqForward = 4
Datastore request to be forwarded across DCs.
Res = 5
Datastore response.
CryptoHandshake = 6
AES key handshake.
GossipSyn = 7
Gossip SYN.
GossipSynReply = 8
Gossip SYN reply.
GossipAck = 9
Gossip ACK.
GossipDigestSyn = 10
Gossip digest SYN.
GossipDigestAck = 11
Gossip digest ACK.
GossipDigestAck2 = 12
Gossip digest ACK round 2.
GossipShutdown = 13
Gossip shutdown notice.
HandoffChunk = 14
Explicit handoff chunk frame.
Carries one chunk of a token-range handoff stream from the previous owner of the range to the new owner. Distinct from the AAE exchange variants so the receiver can route handoff frames to the dedicated handoff coordinator without parsing the payload first.
FtSearchReq = 15
Cluster-wide RediSearch FT.SEARCH request frame.
Sent by the FT.SEARCH coordinator on the node that
received the client request to every primary peer
covering the index’s key range. The payload encodes a
broadcast request (table name, serialised query body,
top-K) - see the dynomite-search crate’s
query_fsm::BroadcastRequest. Routed by the dispatcher
to the dedicated FT.SEARCH coordinator FSM instead of
the data-plane stack so the per-peer query runs against
the local registry rather than being re-forwarded.
FtSearchRep = 16
Cluster-wide RediSearch FT.SEARCH reply frame.
Returned by every peer that received a Self::FtSearchReq
once its local search completed (or the per-peer
deadline elapsed). The payload encodes the per-peer
top-K hit list plus a timed_out flag the coordinator
uses to mark partial results.
XaPrepare = 17
Cross-node XA prepare request.
Carries one transaction branch’s writes to the peer that
owns it. The receiver runs start + apply + end + prepare
against its local resource manager and replies with a
Self::XaVote. The payload layout is owned by the
dyniak transaction layer (dyniak::datastore::xa).
XaVote = 18
Cross-node XA prepare reply carrying a branch’s vote
(commit / read-only / abort) for a Self::XaPrepare.
XaCommit = 19
Cross-node XA commit request for a durably prepared branch.
The receiver commits idempotently and replies
Self::XaAck.
XaRollback = 20
Cross-node XA rollback request for a branch. The receiver
rolls back idempotently and replies Self::XaAck.
XaAck = 21
Cross-node XA acknowledgement for a Self::XaCommit or
Self::XaRollback.
RiakReplica = 22
Dyniak cross-node object-replica op.
Carries one fire-and-forget replica write (Put / Del)
or read-repair read (Get) forwarded from the node that
received the client request to a peer on the object’s
replica list. The payload is the compact PeerOp encoding
owned by the dyniak routing layer
(dyniak::proto::replica_wire). The receiver applies the
op to its LOCAL object store and does NOT re-forward it, so
a replica write fans out exactly once. Bypassed by
dmsg_process alongside the XA variants so the receive
path routes it to the dyniak replica sink rather than the
data-plane stack.
RampPrepare = 23
Cross-node RAMP-Fast prepare / commit / read leg.
Carries one RAMP transaction’s per-peer work (a versioned
invisible write in PREPARE, a visible-pointer advance in
COMMIT, or a versioned read round) to the peer that owns the
key. The payload layout is owned by the dyniak RAMP layer
(dyniak::ramp_store). This variant is the wire hook for the
cross-node fan-out; the single-node coordinator does not yet
emit it.
Implementations§
Trait Implementations§
impl Copy for DmsgType
impl Eq for DmsgType
impl StructuralPartialEq for DmsgType
Auto Trait Implementations§
impl Freeze for DmsgType
impl RefUnwindSafe for DmsgType
impl Send for DmsgType
impl Sync for DmsgType
impl Unpin for DmsgType
impl UnsafeUnpin for DmsgType
impl UnwindSafe for DmsgType
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.