00001
00002
00003
00004
00005
00006
00007
00008
00014 #ifndef __GEARMAN_SERVER_CONSTANTS_H__
00015 #define __GEARMAN_SERVER_CONSTANTS_H__
00016
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020
00027
00028 #define GEARMAN_DEFAULT_BACKLOG 64
00029 #define GEARMAN_DEFAULT_MAX_QUEUE_SIZE 0
00030 #define GEARMAN_SERVER_CON_ID_SIZE 128
00031 #define GEARMAN_JOB_HASH_SIZE 383
00032 #define GEARMAN_MAX_FREE_SERVER_CON 1000
00033 #define GEARMAN_MAX_FREE_SERVER_PACKET 2000
00034 #define GEARMAN_MAX_FREE_SERVER_JOB 1000
00035 #define GEARMAN_MAX_FREE_SERVER_CLIENT 1000
00036 #define GEARMAN_MAX_FREE_SERVER_WORKER 1000
00037 #define GEARMAN_TEXT_RESPONSE_SIZE 8192
00038 #define GEARMAN_PIPE_BUFFER_SIZE 256
00039 #define GEARMAN_CONF_MAX_OPTION_SHORT 128
00040 #define GEARMAN_CONF_DISPLAY_WIDTH 80
00041
00048 typedef enum
00049 {
00050 GEARMAN_SERVER_CON_SLEEPING= (1 << 0),
00051 GEARMAN_SERVER_CON_EXCEPTIONS= (1 << 1),
00052 GEARMAN_SERVER_CON_DEAD= (1 << 2),
00053 GEARMAN_SERVER_CON_NOOP_SENT= (1 << 3)
00054 } gearman_server_con_options_t;
00055
00060 typedef enum
00061 {
00062 GEARMAN_SERVER_JOB_QUEUED= (1 << 1),
00063 GEARMAN_SERVER_JOB_IGNORE= (1 << 2)
00064 } gearman_server_job_state_t;
00065
00070 typedef enum
00071 {
00072 GEARMAND_LISTEN_EVENT= (1 << 0),
00073 GEARMAND_WAKEUP_EVENT= (1 << 1)
00074 } gearmand_options_t;
00075
00080 typedef enum
00081 {
00082 GEARMAND_WAKEUP_PAUSE= (1 << 0),
00083 GEARMAND_WAKEUP_SHUTDOWN= (1 << 1),
00084 GEARMAND_WAKEUP_SHUTDOWN_GRACEFUL= (1 << 2),
00085 GEARMAND_WAKEUP_CON= (1 << 3),
00086 GEARMAND_WAKEUP_RUN= (1 << 4)
00087 } gearmand_wakeup_t;
00088
00093 typedef enum
00094 {
00095 GEARMAND_THREAD_WAKEUP_EVENT= (1 << 0),
00096 GEARMAND_THREAD_LOCK= (1 << 1)
00097 } gearmand_thread_options_t;
00098
00099
00106
00107 typedef struct gearman_server_st gearman_server_st;
00108 typedef struct gearman_server_thread_st gearman_server_thread_st;
00109 typedef struct gearman_server_con_st gearman_server_con_st;
00110 typedef struct gearman_server_packet_st gearman_server_packet_st;
00111 typedef struct gearman_server_function_st gearman_server_function_st;
00112 typedef struct gearman_server_client_st gearman_server_client_st;
00113 typedef struct gearman_server_worker_st gearman_server_worker_st;
00114 typedef struct gearman_server_job_st gearman_server_job_st;
00115 typedef struct gearmand_st gearmand_st;
00116 typedef struct gearmand_port_st gearmand_port_st;
00117 typedef struct gearmand_con_st gearmand_con_st;
00118 typedef struct gearmand_thread_st gearmand_thread_st;
00119 typedef struct gearman_conf_st gearman_conf_st;
00120 typedef struct gearman_conf_option_st gearman_conf_option_st;
00121 typedef struct gearman_conf_module_st gearman_conf_module_st;
00122
00123
00124 typedef void (gearman_server_thread_run_fn)(gearman_server_thread_st *thread,
00125 void *context);
00126
00127 typedef gearman_return_t (gearman_queue_add_fn)(gearman_server_st *server,
00128 void *context,
00129 const void *unique,
00130 size_t unique_size,
00131 const void *function_name,
00132 size_t function_name_size,
00133 const void *data,
00134 size_t data_size,
00135 gearman_job_priority_t priority);
00136 typedef gearman_return_t (gearman_queue_flush_fn)(gearman_server_st *server,
00137 void *context);
00138 typedef gearman_return_t (gearman_queue_done_fn)(gearman_server_st *server,
00139 void *context,
00140 const void *unique,
00141 size_t unique_size,
00142 const void *function_name,
00143 size_t function_name_size);
00144 typedef gearman_return_t (gearman_queue_replay_fn)(gearman_server_st *server,
00145 void *context,
00146 gearman_queue_add_fn *add_fn,
00147 void *add_context);
00148
00149 typedef gearman_return_t (gearman_connection_add_fn)(gearman_connection_st *con);
00150
00163 #ifdef __cplusplus
00164 }
00165 #endif
00166
00167 #endif