00001
00002
00003
00004
00005
00006
00007
00008
00014 #ifndef __GEARMAN_WORKER_H__
00015 #define __GEARMAN_WORKER_H__
00016
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020
00037 GEARMAN_API
00038 gearman_worker_st *gearman_worker_create(gearman_worker_st *worker);
00039
00047 GEARMAN_API
00048 gearman_worker_st *gearman_worker_clone(gearman_worker_st *worker,
00049 const gearman_worker_st *from);
00050
00057 GEARMAN_API
00058 void gearman_worker_free(gearman_worker_st *worker);
00059
00063 GEARMAN_API
00064 const char *gearman_worker_error(gearman_worker_st *worker);
00065
00069 GEARMAN_API
00070 int gearman_worker_errno(gearman_worker_st *worker);
00071
00079 GEARMAN_API
00080 gearman_worker_options_t gearman_worker_options(const gearman_worker_st *worker);
00081
00089 GEARMAN_API
00090 void gearman_worker_set_options(gearman_worker_st *worker,
00091 gearman_worker_options_t options);
00092
00100 GEARMAN_API
00101 void gearman_worker_add_options(gearman_worker_st *worker,
00102 gearman_worker_options_t options);
00103
00111 GEARMAN_API
00112 void gearman_worker_remove_options(gearman_worker_st *worker,
00113 gearman_worker_options_t options);
00114
00118 GEARMAN_API
00119 int gearman_worker_timeout(gearman_worker_st *worker);
00120
00124 GEARMAN_API
00125 void gearman_worker_set_timeout(gearman_worker_st *worker, int timeout);
00126
00134 GEARMAN_API
00135 void *gearman_worker_context(const gearman_worker_st *worker);
00136
00144 GEARMAN_API
00145 void gearman_worker_set_context(gearman_worker_st *worker, const void *context);
00146
00150 GEARMAN_API
00151 void gearman_worker_set_log_fn(gearman_worker_st *worker,
00152 gearman_log_fn *function, const void *context,
00153 gearman_verbose_t verbose);
00154
00158 GEARMAN_API
00159 void gearman_worker_set_event_watch_fn(gearman_worker_st *worker,
00160 gearman_event_watch_fn *function,
00161 const void *context);
00162
00166 GEARMAN_API
00167 void gearman_worker_set_workload_malloc_fn(gearman_worker_st *worker,
00168 gearman_malloc_fn *function,
00169 const void *context);
00170
00174 GEARMAN_API
00175 void gearman_worker_set_workload_free_fn(gearman_worker_st *worker,
00176 gearman_free_fn *function,
00177 const void *context);
00178
00189 GEARMAN_API
00190 gearman_return_t gearman_worker_add_server(gearman_worker_st *worker,
00191 const char *host, in_port_t port);
00192
00205 GEARMAN_API
00206 gearman_return_t gearman_worker_add_servers(gearman_worker_st *worker,
00207 const char *servers);
00208
00215 GEARMAN_API
00216 void gearman_worker_remove_servers(gearman_worker_st *worker);
00217
00225 GEARMAN_API
00226 gearman_return_t gearman_worker_wait(gearman_worker_st *worker);
00227
00241 GEARMAN_API
00242 gearman_return_t gearman_worker_register(gearman_worker_st *worker,
00243 const char *function_name,
00244 uint32_t timeout);
00245
00254 GEARMAN_API
00255 gearman_return_t gearman_worker_unregister(gearman_worker_st *worker,
00256 const char *function_name);
00257
00265 GEARMAN_API
00266 gearman_return_t gearman_worker_unregister_all(gearman_worker_st *worker);
00267
00281 GEARMAN_API
00282 gearman_job_st *gearman_worker_grab_job(gearman_worker_st *worker,
00283 gearman_job_st *job,
00284 gearman_return_t *ret_ptr);
00285
00292 GEARMAN_API
00293 void gearman_job_free(gearman_job_st *job);
00294
00301 GEARMAN_API
00302 void gearman_job_free_all(gearman_worker_st *worker);
00303
00319 GEARMAN_API
00320 gearman_return_t gearman_worker_add_function(gearman_worker_st *worker,
00321 const char *function_name,
00322 uint32_t timeout,
00323 gearman_worker_fn *function,
00324 const void *context);
00325
00333 GEARMAN_API
00334 gearman_return_t gearman_worker_work(gearman_worker_st *worker);
00335
00346 GEARMAN_API
00347 gearman_return_t gearman_worker_echo(gearman_worker_st *worker,
00348 const void *workload,
00349 size_t workload_size);
00350
00353 #ifdef __cplusplus
00354 }
00355 #endif
00356
00357 #endif