Shortcut for creating Aggregate actors.
Shortcut to the args of the current command.
Utility for handling boundary args that wrap around ends of sequences and count backwards when negative.
Channels subscribed to.
The current command - normally will be set when a Command arrives via the actor's receive method.
Timeout for a single command.
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.
Utility for dropping extraneous zeros from floats when converting to strings, for consistency with Redis' INCRBYFLOAT/HINCRBYFLOAT commands and sorted set scores.
Utility for glob-style filtering.
Patterns subscribed to.
Utility for selecting a random item.
Receive for PubSubClient, which is given a distinct name, so that ClientNode can compose together multiple Receive methods to form its own.
Sends a Response (usually the result of a command) back to the command's destination (usually a ClientNode sending a Command).
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.
CommandRunner for PubSubClient, which is given a distinct name, so that ClientNode can compose together multiple CommandRunner methods to form its own.
Utility for scan-style commands, namely SCAN/SSCAN/HSCAN/ZSCAN.
Utility for slicing sequences, for commands such as SLICE, GETRANGE, LRANGE, etc.
Here we override the stop method used by CommandProcessing, which allows us to inform the KeyNode actors holding subscriptions to our channels and patterns that we're unsubscribing.
Handles all commands that subscribe or unsubsubscribe, namely SUBSCRIBE/UNSUBSCRIBE/PSUBSCRIBE/PUNSUBSCRIBE.