summaryrefslogtreecommitdiffstats
path: root/src/commands/blmove.json
diff options
context:
space:
mode:
Diffstat (limited to 'src/commands/blmove.json')
-rw-r--r--src/commands/blmove.json117
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"
+ }
+ ]
+ }
+}