Signature for the partial function CommandRunner that actually handles each command.
Shortcut for creating Aggregate actors.
Shortcut to the args of the current command.
Starts the aggregation process by sending a Command containing the Aggregate subclass instance's command, for each key in the originating Command.
Utility for handling boundary args that wrap around ends of sequences and count backwards when negative.
The current command - normally will be set when a Command arrives via the actor's receive method.
Timeout for a single command.
Sequence of Command instances that are initially sent when aggregation begins.
Constructs the final response to send back to the ClientNode.
Flag that enables detailed command debugging.
Retrieves a duration config setting as milliseconds, and handles the value not being a duration value, so we can do something like set it to "off", in which case we default to 0.
Ordered set of keys dealt with by the initial Command, used to construct the list of commands being sent.
Utility for dropping extraneous zeros from floats when converting to strings, for consistency with Redis' INCRBYFLOAT/HINCRBYFLOAT commands and sorted set scores.
Returns responses ordered by their original Command order.
Utility for glob-style filtering.
Utility for selecting a random item.
Starts the aggregation process when the original Command is first received, and receives each Node response afterwards, until all responses have arrived, at which point the final response for the ClientNode is constructed and sent back, and the Aggregate actor is shut down.
Sends a Response (usually the result of a command) back to the command's destination (usually a ClientNode sending a Command).
Responses received mapped to Command IDs.
Shortcut route method for sending command input without a constructed Command instance, using the state of the current command (eg: db, clientID).
Sends an unrouted Command to one or more KeyNode actors, either by routing by key, or broadcasting to all.
Utility for scan-style commands, namely SCAN/SSCAN/HSCAN/ZSCAN.
Utility for slicing sequences, for commands such as SLICE, GETRANGE, LRANGE, etc.
Stops the actor - we define this shortcut to give subclassing traits the chance to override it and inject extra shutdown behavior that concrete actors need not know about.