pub enum BlockKind {
Blpop,
Brpop,
Bzpopmin,
Brpoplpush,
XReadBlock,
XReadGroupBlock,
}Expand description
Which blocking command a waiter is parked in. Drives both timeout-nil shape and wake-retry dispatch.
Variants§
Blpop
BLPOP key [key ...] timeout — block until one of the keys has an
element, then pop from the left. On timeout the reply is a nil
ARRAY, not a nil bulk; the shape is part of what this drives.
Brpop
BRPOP — the same, popping from the right.
Bzpopmin
BZPOPMIN key [key ...] timeout — block until a sorted set has a
member, then pop the lowest-scored one. Same arm-and-serve flow as
BLPOP; the reply shape adds a third bulk (the score).
Brpoplpush
BRPOPLPUSH source destination timeout — atomic blocking
right-pop from source + left-push to destination. Parks
on source only. Reply: single bulk of the moved element on
success, nil bulk on timeout. Deprecated since Redis 6.2 in
favour of BLMOVE, but Bee Queue (and many older clients)
still emit it.
XReadBlock
XREAD BLOCK — park until an entry past the given id arrives on
one of the streams. Read-only: no PEL, so a wake serves without
touching group state.
XReadGroupBlock
XREADGROUP BLOCK — the same wait, but a wake is a WRITE: the
delivery updates the group’s pending list and last-delivered id on
the stream’s own shard, and is logged there.