summaryrefslogtreecommitdiff
path: root/examples/redis-unstable/src/script.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/redis-unstable/src/script.h')
-rw-r--r--examples/redis-unstable/src/script.h95
1 files changed, 0 insertions, 95 deletions
diff --git a/examples/redis-unstable/src/script.h b/examples/redis-unstable/src/script.h
deleted file mode 100644
index 4f43c09..0000000
--- a/examples/redis-unstable/src/script.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (c) 2009-Present, Redis Ltd.
- * All rights reserved.
- *
- * Licensed under your choice of (a) the Redis Source Available License 2.0
- * (RSALv2); or (b) the Server Side Public License v1 (SSPLv1); or (c) the
- * GNU Affero General Public License v3 (AGPLv3).
- */
-
-#ifndef __SCRIPT_H_
-#define __SCRIPT_H_
-
-/*
- * Script.c unit provides an API for functions and eval
- * to interact with Redis. Interaction includes mostly
- * executing commands, but also functionalities like calling
- * Redis back on long scripts or check if the script was killed.
- *
- * The interaction is done using a scriptRunCtx object that
- * need to be created by the user and initialized using scriptPrepareForRun.
- *
- * Detailed list of functionalities expose by the unit:
- * 1. Calling commands (including all the validation checks such as
- * acl, cluster, read only run, ...)
- * 2. Set Resp
- * 3. Set Replication method (AOF/REPLICATION/NONE)
- * 4. Call Redis back to on long running scripts to allow Redis reply
- * to clients and perform script kill
- */
-
-/*
- * scriptInterrupt function will return one of those value,
- *
- * - SCRIPT_KILL - kill the current running script.
- * - SCRIPT_CONTINUE - keep running the current script.
- */
-#define SCRIPT_KILL 1
-#define SCRIPT_CONTINUE 2
-
-/* runCtx flags */
-#define SCRIPT_WRITE_DIRTY (1ULL<<0) /* indicate that the current script already performed a write command */
-#define SCRIPT_TIMEDOUT (1ULL<<3) /* indicate that the current script timedout */
-#define SCRIPT_KILLED (1ULL<<4) /* indicate that the current script was marked to be killed */
-#define SCRIPT_READ_ONLY (1ULL<<5) /* indicate that the current script should only perform read commands */
-#define SCRIPT_ALLOW_OOM (1ULL<<6) /* indicate to allow any command even if OOM reached */
-#define SCRIPT_EVAL_MODE (1ULL<<7) /* Indicate that the current script called from legacy Lua */
-#define SCRIPT_ALLOW_CROSS_SLOT (1ULL<<8) /* Indicate that the current script may access keys from multiple slots */
-typedef struct scriptRunCtx scriptRunCtx;
-
-struct scriptRunCtx {
- const char *funcname;
- client *c;
- client *original_client;
- int flags;
- int repl_flags;
- monotime start_time;
- int slot;
- int cluster_compatibility_check_slot;
-};
-
-/* Scripts flags */
-#define SCRIPT_FLAG_NO_WRITES (1ULL<<0)
-#define SCRIPT_FLAG_ALLOW_OOM (1ULL<<1)
-#define SCRIPT_FLAG_ALLOW_STALE (1ULL<<2)
-#define SCRIPT_FLAG_NO_CLUSTER (1ULL<<3)
-#define SCRIPT_FLAG_EVAL_COMPAT_MODE (1ULL<<4) /* EVAL Script backwards compatible behavior, no shebang provided */
-#define SCRIPT_FLAG_ALLOW_CROSS_SLOT (1ULL<<5)
-
-/* Defines a script flags */
-typedef struct scriptFlag {
- uint64_t flag;
- const char *str;
-} scriptFlag;
-
-extern scriptFlag scripts_flags_def[];
-
-void luaEnvInit(void);
-lua_State *createLuaState(void);
-uint64_t scriptFlagsToCmdFlags(uint64_t cmd_flags, uint64_t script_flags);
-int scriptPrepareForRun(scriptRunCtx *r_ctx, client *engine_client, client *caller, const char *funcname, uint64_t script_flags, int ro);
-void scriptResetRun(scriptRunCtx *r_ctx);
-int scriptSetResp(scriptRunCtx *r_ctx, int resp);
-int scriptSetRepl(scriptRunCtx *r_ctx, int repl);
-void scriptCall(scriptRunCtx *r_ctx, sds *err);
-int scriptInterrupt(scriptRunCtx *r_ctx);
-void scriptKill(client *c, int is_eval);
-int scriptIsRunning(void);
-const char* scriptCurrFunction(void);
-int scriptIsEval(void);
-int scriptIsTimedout(void);
-client* scriptGetClient(void);
-client* scriptGetCaller(void);
-long long scriptRunDuration(void);
-
-#endif /* __SCRIPT_H_ */