00001 /* Gearman server and library 00002 * Copyright (C) 2010 Brian Aker, Eric Day 00003 * All rights reserved. 00004 * 00005 * Use and distribution licensed under the BSD license. See 00006 * the COPYING file in the parent directory for full text. 00007 */ 00008 00014 #include "common.h" 00015 00016 const char *gearman_strerror(gearman_return_t rc) 00017 { 00018 switch (rc) 00019 { 00020 case GEARMAN_SUCCESS: 00021 return "SUCCESS"; 00022 case GEARMAN_IO_WAIT: 00023 return "IO_WAIT"; 00024 case GEARMAN_SHUTDOWN: 00025 return "SHUTDOWN"; 00026 case GEARMAN_SHUTDOWN_GRACEFUL: 00027 return "SHUTDOWN_GRACEFUL"; 00028 case GEARMAN_ERRNO: 00029 return "ERRNO"; 00030 case GEARMAN_EVENT: 00031 return "EVENT"; 00032 case GEARMAN_TOO_MANY_ARGS: 00033 return "TOO_MANY_ARGS"; 00034 case GEARMAN_NO_ACTIVE_FDS: 00035 return "NO_ACTIVE_FDS"; 00036 case GEARMAN_INVALID_MAGIC: 00037 return "INVALID_MAGIC"; 00038 case GEARMAN_INVALID_COMMAND: 00039 return "INVALID_COMMAND"; 00040 case GEARMAN_INVALID_PACKET: 00041 return "INVALID_PACKET"; 00042 case GEARMAN_UNEXPECTED_PACKET: 00043 return "UNEXPECTED_PACKET"; 00044 case GEARMAN_GETADDRINFO: 00045 return "GETADDRINFO"; 00046 case GEARMAN_NO_SERVERS: 00047 return "NO_SERVERS"; 00048 case GEARMAN_LOST_CONNECTION: 00049 return "LOST_CONNECTION"; 00050 case GEARMAN_MEMORY_ALLOCATION_FAILURE: 00051 return "MEMORY_ALLOCATION_FAILURE"; 00052 case GEARMAN_JOB_EXISTS: 00053 return "JOB_EXISTS"; 00054 case GEARMAN_JOB_QUEUE_FULL: 00055 return "JOB_JOB_QUEUE_FULL"; 00056 case GEARMAN_SERVER_ERROR: 00057 return "SERVER_ERROR"; 00058 case GEARMAN_WORK_ERROR: 00059 return "WORK_ERROR"; 00060 case GEARMAN_WORK_DATA: 00061 return "WORK_DATA"; 00062 case GEARMAN_WORK_WARNING: 00063 return "WORK_WARNING"; 00064 case GEARMAN_WORK_STATUS: 00065 return "WORK_STATUS"; 00066 case GEARMAN_WORK_EXCEPTION: 00067 return "WORK_EXCEPTION"; 00068 case GEARMAN_WORK_FAIL: 00069 return "WORK_FAIL"; 00070 case GEARMAN_NOT_CONNECTED: 00071 return "NOT_CONNECTED"; 00072 case GEARMAN_COULD_NOT_CONNECT: 00073 return "COULD_NOT_CONNECT"; 00074 case GEARMAN_SEND_IN_PROGRESS: 00075 return "SEND_IN_PROGRESS"; 00076 case GEARMAN_RECV_IN_PROGRESS: 00077 return "RECV_IN_PROGRESS"; 00078 case GEARMAN_NOT_FLUSHING: 00079 return "NOT_FLUSHING"; 00080 case GEARMAN_DATA_TOO_LARGE: 00081 return "DATA_TOO_LARGE"; 00082 case GEARMAN_INVALID_FUNCTION_NAME: 00083 return "INVALID_FUNCTION_NAME"; 00084 case GEARMAN_INVALID_WORKER_FUNCTION: 00085 return "INVALID_WORKER_FUNCTION"; 00086 case GEARMAN_NO_REGISTERED_FUNCTION: 00087 return "NO_REGISTERED_FUNCTION"; 00088 case GEARMAN_NO_REGISTERED_FUNCTIONS: 00089 return "NO_REGISTERED_FUNCTIONS"; 00090 case GEARMAN_NO_JOBS: 00091 return "NO_JOBS"; 00092 case GEARMAN_ECHO_DATA_CORRUPTION: 00093 return "ECHO_DATA_CORRUPTION"; 00094 case GEARMAN_NEED_WORKLOAD_FN: 00095 return "NEED_WORKLOAD_FN"; 00096 case GEARMAN_PAUSE: 00097 return "PAUSE"; 00098 case GEARMAN_UNKNOWN_STATE: 00099 return "UNKNOWN_STATE"; 00100 case GEARMAN_PTHREAD: 00101 return "PTHREAD"; 00102 case GEARMAN_PIPE_EOF: 00103 return "PIPE_EOF"; 00104 case GEARMAN_QUEUE_ERROR: 00105 return "QUEUE_ERROR"; 00106 case GEARMAN_FLUSH_DATA: 00107 return "FLUSH_DATA"; 00108 case GEARMAN_SEND_BUFFER_TOO_SMALL: 00109 return "SEND_BUFFER_TOO_SMALL"; 00110 case GEARMAN_IGNORE_PACKET: 00111 return "IGNORE_PACKET"; 00112 case GEARMAN_UNKNOWN_OPTION: 00113 return "UNKNOWN_OPTION"; 00114 case GEARMAN_TIMEOUT: 00115 return "TIMEOUT"; 00116 case GEARMAN_ARGUMENT_TOO_LARGE: 00117 return "The argument was too large for Gearman to handle."; 00118 case GEARMAN_MAX_RETURN: 00119 default: 00120 return "Gibberish returned!"; 00121 } 00122 }