pub struct ResolvedCmd {
pub txn_kind: TxnKind,
pub route: Route,
pub is_quit: bool,
pub is_write: bool,
pub block_hint: BlockHint,
pub wake_idx: Option<u8>,
}Expand description
Per-command verb-resolution result. Produced once by Commands::resolve
in the reactor’s parse-then-dispatch loop, reused for routing decisions,
AOF logging, and the QUIT branch — so the per-cmd upper_verb cost goes
from 4× down to 1×.
Fields§
§txn_kind: TxnKindMULTI/EXEC/DISCARD/WATCH classification, so the transaction layer does not re-parse the verb.
route: RouteWhere this command goes: one shard, all of them, or a local answer.
is_quit: boolQUIT, which the reactor answers and then closes on rather than
dispatching.
is_write: boolWhether the command mutates — the AOF and replication gate. Set from the verb table, not inferred from the route.
block_hint: BlockHintBlocking-command classification (see Commands::block_hint).
BlockHint::None for every non-blocking verb.
wake_idx: Option<u8>Index into args whose write may wake a BLPOP / XREAD BLOCK
waiter parked on that key — Some(1) for LPUSH / RPUSH /
XADD, None for every other command (including reads). The
dispatcher’s wake hook is gated on both this being Some and
the per-shard BlockedClients registry being non-empty, so the
steady-state cost when nobody is parked is one is_empty() check.