summaryrefslogtreecommitdiff
path: root/examples/redis-unstable/src/commands/xread.json
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2026-01-21 22:40:55 +0100
committerMitja Felicijan <mitja.felicijan@gmail.com>2026-01-21 22:40:55 +0100
commit5d8dfe892a2ea89f706ee140c3bdcfd89fe03fda (patch)
tree1acdfa5220cd13b7be43a2a01368e80d306473ca /examples/redis-unstable/src/commands/xread.json
parentc7ab12bba64d9c20ccd79b132dac475f7bc3923e (diff)
downloadcrep-5d8dfe892a2ea89f706ee140c3bdcfd89fe03fda.tar.gz
Add Redis source code for testing
Diffstat (limited to 'examples/redis-unstable/src/commands/xread.json')
-rw-r--r--examples/redis-unstable/src/commands/xread.json107
1 files changed, 107 insertions, 0 deletions
diff --git a/examples/redis-unstable/src/commands/xread.json b/examples/redis-unstable/src/commands/xread.json
new file mode 100644
index 0000000..95e22c4
--- /dev/null
+++ b/examples/redis-unstable/src/commands/xread.json
@@ -0,0 +1,107 @@
+{
+ "XREAD": {
+ "summary": "Returns messages from multiple streams with IDs greater than the ones requested. Blocks until a message is available otherwise.",
+ "group": "stream",
+ "since": "5.0.0",
+ "arity": -4,
+ "function": "xreadCommand",
+ "get_keys_function": "xreadGetKeys",
+ "command_flags": [
+ "BLOCKING",
+ "READONLY"
+ ],
+ "acl_categories": [
+ "STREAM"
+ ],
+ "key_specs": [
+ {
+ "flags": [
+ "RO",
+ "ACCESS"
+ ],
+ "begin_search": {
+ "keyword": {
+ "keyword": "STREAMS",
+ "startfrom": 1
+ }
+ },
+ "find_keys": {
+ "range": {
+ "lastkey": -1,
+ "step": 1,
+ "limit": 2
+ }
+ }
+ }
+ ],
+ "arguments": [
+ {
+ "token": "COUNT",
+ "name": "count",
+ "type": "integer",
+ "optional": true
+ },
+ {
+ "token": "BLOCK",
+ "name": "milliseconds",
+ "type": "integer",
+ "optional": true
+ },
+ {
+ "name": "streams",
+ "token": "STREAMS",
+ "type": "block",
+ "arguments": [
+ {
+ "name": "key",
+ "type": "key",
+ "key_spec_index": 0,
+ "multiple": true
+ },
+ {
+ "name": "ID",
+ "type": "string",
+ "multiple": true
+ }
+ ]
+ }
+ ],
+ "reply_schema": {
+ "oneOf": [
+ {
+ "description": "A map of key-value elements when each element composed of key name and the entries reported for that key",
+ "type": "object",
+ "patternProperties": {
+ "^.*$": {
+ "description": "The entries reported for that key",
+ "type": "array",
+ "items": {
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": [
+ {
+ "description": "entry id",
+ "type": "string",
+ "pattern": "[0-9]+-[0-9]+"
+ },
+ {
+ "description": "array of field-value pairs",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ {
+ "description": "If BLOCK option is given, and a timeout occurs, or there is no stream we can serve",
+ "type": "null"
+ }
+ ]
+ }
+ }
+}