diff options
Diffstat (limited to 'src/commands/blmove.json')
-rw-r--r-- | src/commands/blmove.json | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/src/commands/blmove.json b/src/commands/blmove.json new file mode 100644 index 0000000..b316c52 --- /dev/null +++ b/src/commands/blmove.json @@ -0,0 +1,117 @@ +{ + "BLMOVE": { + "summary": "Pops an element from a list, pushes it to another list and returns it. Blocks until an element is available otherwise. Deletes the list if the last element was moved.", + "complexity": "O(1)", + "group": "list", + "since": "6.2.0", + "arity": 6, + "function": "blmoveCommand", + "command_flags": [ + "WRITE", + "DENYOOM", + "BLOCKING" + ], + "acl_categories": [ + "LIST" + ], + "key_specs": [ + { + "flags": [ + "RW", + "ACCESS", + "DELETE" + ], + "begin_search": { + "index": { + "pos": 1 + } + }, + "find_keys": { + "range": { + "lastkey": 0, + "step": 1, + "limit": 0 + } + } + }, + { + "flags": [ + "RW", + "INSERT" + ], + "begin_search": { + "index": { + "pos": 2 + } + }, + "find_keys": { + "range": { + "lastkey": 0, + "step": 1, + "limit": 0 + } + } + } + ], + "reply_schema": { + "oneOf": [ + { + "description": "The popped element.", + "type": "string" + }, + { + "description": "Operation timed-out", + "type": "null" + } + ] + }, + "arguments": [ + { + "name": "source", + "type": "key", + "key_spec_index": 0 + }, + { + "name": "destination", + "type": "key", + "key_spec_index": 1 + }, + { + "name": "wherefrom", + "type": "oneof", + "arguments": [ + { + "name": "left", + "type": "pure-token", + "token": "LEFT" + }, + { + "name": "right", + "type": "pure-token", + "token": "RIGHT" + } + ] + }, + { + "name": "whereto", + "type": "oneof", + "arguments": [ + { + "name": "left", + "type": "pure-token", + "token": "LEFT" + }, + { + "name": "right", + "type": "pure-token", + "token": "RIGHT" + } + ] + }, + { + "name": "timeout", + "type": "double" + } + ] + } +} |