|
@@ -40,7 +40,8 @@
|
|
|
#include <libgearman/common.h>
|
|
|
|
|
|
#include <libgearman-1.0/visibility.h>
|
|
|
-#include <libgearman/command.hpp>
|
|
|
+#include "libgearman/command.hpp"
|
|
|
+#include "libgearman/strcommand.h"
|
|
|
|
|
|
#include "libgearman/assert.hpp"
|
|
|
|
|
@@ -52,51 +53,65 @@ using namespace org::gearman;
|
|
|
*/
|
|
|
gearman_command_info_st gearmand_command_info_list[GEARMAN_COMMAND_MAX]=
|
|
|
{
|
|
|
- { "TEXT", GEARMAN_COMMAND_TEXT, 5, false },
|
|
|
- { "CAN_DO", GEARMAN_COMMAND_CAN_DO, 1, false },
|
|
|
- { "CANT_DO", GEARMAN_COMMAND_CANT_DO, 1, false },
|
|
|
- { "RESET_ABILITIES", GEARMAN_COMMAND_RESET_ABILITIES, 0, false },
|
|
|
- { "PRE_SLEEP", GEARMAN_COMMAND_PRE_SLEEP, 0, false },
|
|
|
- { "UNUSED", GEARMAN_COMMAND_UNUSED, 0, false },
|
|
|
- { "NOOP", GEARMAN_COMMAND_NOOP, 0, false },
|
|
|
- { "SUBMIT_JOB", GEARMAN_COMMAND_SUBMIT_JOB, 2, true },
|
|
|
- { "JOB_CREATED", GEARMAN_COMMAND_JOB_CREATED, 1, false },
|
|
|
- { "GRAB_JOB", GEARMAN_COMMAND_GRAB_JOB, 0, false },
|
|
|
- { "NO_JOB", GEARMAN_COMMAND_NO_JOB, 0, false },
|
|
|
- { "JOB_ASSIGN", GEARMAN_COMMAND_JOB_ASSIGN, 2, true },
|
|
|
- { "WORK_STATUS", GEARMAN_COMMAND_WORK_STATUS, 3, false },
|
|
|
- { "WORK_COMPLETE", GEARMAN_COMMAND_WORK_COMPLETE, 1, true },
|
|
|
- { "WORK_FAIL",GEARMAN_COMMAND_WORK_FAIL, 1, false },
|
|
|
- { "GET_STATUS",GEARMAN_COMMAND_GET_STATUS, 1, false },
|
|
|
- { "ECHO_REQ", GEARMAN_COMMAND_ECHO_REQ, 0, true },
|
|
|
- { "ECHO_RES", GEARMAN_COMMAND_ECHO_RES, 0, true },
|
|
|
- { "SUBMIT_JOB_BG", GEARMAN_COMMAND_SUBMIT_JOB_BG, 2, true },
|
|
|
- { "ERROR", GEARMAN_COMMAND_ERROR, 2, false },
|
|
|
- { "STATUS_RES", GEARMAN_COMMAND_STATUS_RES, 5, false },
|
|
|
- { "SUBMIT_JOB_HIGH", GEARMAN_COMMAND_SUBMIT_JOB_HIGH, 2, true },
|
|
|
- { "SET_CLIENT_ID", GEARMAN_COMMAND_SET_CLIENT_ID, 1, false },
|
|
|
- { "CAN_DO_TIMEOUT", GEARMAN_COMMAND_CAN_DO_TIMEOUT, 2, false },
|
|
|
- { "ALL_YOURS", GEARMAN_COMMAND_ALL_YOURS, 0, false },
|
|
|
- { "WORK_EXCEPTION", GEARMAN_COMMAND_WORK_EXCEPTION, 1, true },
|
|
|
- { "OPTION_REQ", GEARMAN_COMMAND_OPTION_REQ, 1, false },
|
|
|
- { "OPTION_RES", GEARMAN_COMMAND_OPTION_RES, 1, false },
|
|
|
- { "WORK_DATA", GEARMAN_COMMAND_WORK_DATA, 1, true },
|
|
|
- { "WORK_WARNING", GEARMAN_COMMAND_WORK_WARNING, 1, true },
|
|
|
- { "GRAB_JOB_UNIQ", GEARMAN_COMMAND_GRAB_JOB_UNIQ, 0, false },
|
|
|
- { "JOB_ASSIGN_UNIQ", GEARMAN_COMMAND_JOB_ASSIGN_UNIQ, 3, true },
|
|
|
- { "SUBMIT_JOB_HIGH_BG", GEARMAN_COMMAND_SUBMIT_JOB_HIGH_BG, 2, true },
|
|
|
- { "SUBMIT_JOB_LOW", GEARMAN_COMMAND_SUBMIT_JOB_LOW, 2, true },
|
|
|
- { "SUBMIT_JOB_LOW_BG", GEARMAN_COMMAND_SUBMIT_JOB_LOW_BG, 2, true },
|
|
|
- { "SUBMIT_JOB_SCHED", GEARMAN_COMMAND_SUBMIT_JOB_SCHED, 7, true },
|
|
|
- { "SUBMIT_JOB_EPOCH", GEARMAN_COMMAND_SUBMIT_JOB_EPOCH, 3, true },
|
|
|
- { "SUBMIT_REDUCE_JOB", GEARMAN_COMMAND_SUBMIT_REDUCE_JOB, 4, true },
|
|
|
- { "SUBMIT_REDUCE_JOB_BACKGROUND", GEARMAN_COMMAND_SUBMIT_REDUCE_JOB_BACKGROUND, 4, true },
|
|
|
- { "GRAB_JOB_ALL", GEARMAN_COMMAND_GRAB_JOB_ALL, 0, false },
|
|
|
- { "JOB_ASSIGN_ALL", GEARMAN_COMMAND_JOB_ASSIGN_ALL, 4, true },
|
|
|
- { "GET_STATUS_UNIQUE", GEARMAN_COMMAND_GET_STATUS_UNIQUE, 1, false },
|
|
|
- { "STATUS_RES_UNIQUE", GEARMAN_COMMAND_STATUS_RES_UNIQUE, 6, false }
|
|
|
+ { "GEARMAN_TEXT", GEARMAN_COMMAND_TEXT, 5, false },
|
|
|
+ { "GEARMAN_CAN_DO", GEARMAN_COMMAND_CAN_DO, 1, false },
|
|
|
+ { "GEARMAN_CANT_DO", GEARMAN_COMMAND_CANT_DO, 1, false },
|
|
|
+ { "GEARMAN_RESET_ABILITIES", GEARMAN_COMMAND_RESET_ABILITIES, 0, false },
|
|
|
+ { "GEARMAN_PRE_SLEEP", GEARMAN_COMMAND_PRE_SLEEP, 0, false },
|
|
|
+ { "GEARMAN_UNUSED", GEARMAN_COMMAND_UNUSED, 0, false },
|
|
|
+ { "GEARMAN_NOOP", GEARMAN_COMMAND_NOOP, 0, false },
|
|
|
+ { "GEARMAN_SUBMIT_JOB", GEARMAN_COMMAND_SUBMIT_JOB, 2, true },
|
|
|
+ { "GEARMAN_JOB_CREATED", GEARMAN_COMMAND_JOB_CREATED, 1, false },
|
|
|
+ { "GEARMAN_GRAB_JOB", GEARMAN_COMMAND_GRAB_JOB, 0, false },
|
|
|
+ { "GEARMAN_NO_JOB", GEARMAN_COMMAND_NO_JOB, 0, false },
|
|
|
+ { "GEARMAN_JOB_ASSIGN", GEARMAN_COMMAND_JOB_ASSIGN, 2, true },
|
|
|
+ { "GEARMAN_WORK_STATUS", GEARMAN_COMMAND_WORK_STATUS, 3, false },
|
|
|
+ { "GEARMAN_WORK_COMPLETE", GEARMAN_COMMAND_WORK_COMPLETE, 1, true },
|
|
|
+ { "GEARMAN_WORK_FAIL",GEARMAN_COMMAND_WORK_FAIL, 1, false },
|
|
|
+ { "GEARMAN_GET_STATUS",GEARMAN_COMMAND_GET_STATUS, 1, false },
|
|
|
+ { "GEARMAN_ECHO_REQ", GEARMAN_COMMAND_ECHO_REQ, 0, true },
|
|
|
+ { "GEARMAN_ECHO_RES", GEARMAN_COMMAND_ECHO_RES, 0, true },
|
|
|
+ { "GEARMAN_SUBMIT_JOB_BG", GEARMAN_COMMAND_SUBMIT_JOB_BG, 2, true },
|
|
|
+ { "GEARMAN_ERROR", GEARMAN_COMMAND_ERROR, 2, false },
|
|
|
+ { "GEARMAN_STATUS_RES", GEARMAN_COMMAND_STATUS_RES, 5, false },
|
|
|
+ { "GEARMAN_SUBMIT_JOB_HIGH", GEARMAN_COMMAND_SUBMIT_JOB_HIGH, 2, true },
|
|
|
+ { "GEARMAN_SET_CLIENT_ID", GEARMAN_COMMAND_SET_CLIENT_ID, 1, false },
|
|
|
+ { "GEARMAN_CAN_DO_TIMEOUT", GEARMAN_COMMAND_CAN_DO_TIMEOUT, 2, false },
|
|
|
+ { "GEARMAN_ALL_YOURS", GEARMAN_COMMAND_ALL_YOURS, 0, false },
|
|
|
+ { "GEARMAN_WORK_EXCEPTION", GEARMAN_COMMAND_WORK_EXCEPTION, 1, true },
|
|
|
+ { "GEARMAN_OPTION_REQ", GEARMAN_COMMAND_OPTION_REQ, 1, false },
|
|
|
+ { "GEARMAN_OPTION_RES", GEARMAN_COMMAND_OPTION_RES, 1, false },
|
|
|
+ { "GEARMAN_WORK_DATA", GEARMAN_COMMAND_WORK_DATA, 1, true },
|
|
|
+ { "GEARMAN_WORK_WARNING", GEARMAN_COMMAND_WORK_WARNING, 1, true },
|
|
|
+ { "GEARMAN_GRAB_JOB_UNIQ", GEARMAN_COMMAND_GRAB_JOB_UNIQ, 0, false },
|
|
|
+ { "GEARMAN_JOB_ASSIGN_UNIQ", GEARMAN_COMMAND_JOB_ASSIGN_UNIQ, 3, true },
|
|
|
+ { "GEARMAN_SUBMIT_JOB_HIGH_BG", GEARMAN_COMMAND_SUBMIT_JOB_HIGH_BG, 2, true },
|
|
|
+ { "GEARMAN_SUBMIT_JOB_LOW", GEARMAN_COMMAND_SUBMIT_JOB_LOW, 2, true },
|
|
|
+ { "GEARMAN_SUBMIT_JOB_LOW_BG", GEARMAN_COMMAND_SUBMIT_JOB_LOW_BG, 2, true },
|
|
|
+ { "GEARMAN_SUBMIT_JOB_SCHED", GEARMAN_COMMAND_SUBMIT_JOB_SCHED, 7, true },
|
|
|
+ { "GEARMAN_SUBMIT_JOB_EPOCH", GEARMAN_COMMAND_SUBMIT_JOB_EPOCH, 3, true },
|
|
|
+ { "GEARMAN_SUBMIT_REDUCE_JOB", GEARMAN_COMMAND_SUBMIT_REDUCE_JOB, 4, true },
|
|
|
+ { "GEARMAN_SUBMIT_REDUCE_JOB_BACKGROUND", GEARMAN_COMMAND_SUBMIT_REDUCE_JOB_BACKGROUND, 4, true },
|
|
|
+ { "GEARMAN_GRAB_JOB_ALL", GEARMAN_COMMAND_GRAB_JOB_ALL, 0, false },
|
|
|
+ { "GEARMAN_JOB_ASSIGN_ALL", GEARMAN_COMMAND_JOB_ASSIGN_ALL, 4, true },
|
|
|
+ { "GEARMAN_GET_STATUS_UNIQUE", GEARMAN_COMMAND_GET_STATUS_UNIQUE, 1, false },
|
|
|
+ { "GEARMAN_STATUS_RES_UNIQUE", GEARMAN_COMMAND_STATUS_RES_UNIQUE, 6, false }
|
|
|
};
|
|
|
|
|
|
+const char *gearman_strcommand(gearman_command_t command)
|
|
|
+{
|
|
|
+ if ((command >= GEARMAN_COMMAND_TEXT) and (command <= GEARMAN_COMMAND_STATUS_RES_UNIQUE))
|
|
|
+ {
|
|
|
+ const char* str= gearmand_command_info_list[command].name;
|
|
|
+
|
|
|
+ str+= sizeof("GEARMAN_");
|
|
|
+ return str;
|
|
|
+ }
|
|
|
+
|
|
|
+ assert(0); // We should never reach this
|
|
|
+ abort();
|
|
|
+}
|
|
|
+
|
|
|
const gearman_command_info_st *gearman_command_info(gearman_command_t command)
|
|
|
{
|
|
|
assert(command >= GEARMAN_COMMAND_TEXT);
|