00001
00002
00003
00004
00005
00006
00007
00008
00014 #ifndef __GEARMAN_CLIENT_H__
00015 #define __GEARMAN_CLIENT_H__
00016
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020
00038 GEARMAN_API
00039 gearman_client_st *gearman_client_create(gearman_client_st *client);
00040
00048 GEARMAN_API
00049 gearman_client_st *gearman_client_clone(gearman_client_st *client,
00050 const gearman_client_st *from);
00051
00058 GEARMAN_API
00059 void gearman_client_free(gearman_client_st *client);
00060
00064 GEARMAN_API
00065 const char *gearman_client_error(const gearman_client_st *client);
00066
00070 GEARMAN_API
00071 int gearman_client_errno(const gearman_client_st *client);
00072
00080 GEARMAN_API
00081 gearman_client_options_t gearman_client_options(const gearman_client_st *client);
00082
00090 GEARMAN_API
00091 void gearman_client_set_options(gearman_client_st *client,
00092 gearman_client_options_t options);
00093
00101 GEARMAN_API
00102 void gearman_client_add_options(gearman_client_st *client,
00103 gearman_client_options_t options);
00104
00112 GEARMAN_API
00113 void gearman_client_remove_options(gearman_client_st *client,
00114 gearman_client_options_t options);
00115
00119 GEARMAN_API
00120 int gearman_client_timeout(gearman_client_st *client);
00121
00125 GEARMAN_API
00126 void gearman_client_set_timeout(gearman_client_st *client, int timeout);
00127
00135 GEARMAN_API
00136 void *gearman_client_context(const gearman_client_st *client);
00137
00145 GEARMAN_API
00146 void gearman_client_set_context(gearman_client_st *client, const void *context);
00147
00151 GEARMAN_API
00152 void gearman_client_set_log_fn(gearman_client_st *client,
00153 gearman_log_fn *function, const void *context,
00154 gearman_verbose_t verbose);
00155
00159 GEARMAN_API
00160 void gearman_client_set_event_watch_fn(gearman_client_st *client,
00161 gearman_event_watch_fn *function,
00162 const void *context);
00163
00167 GEARMAN_API
00168 void gearman_client_set_workload_malloc_fn(gearman_client_st *client,
00169 gearman_malloc_fn *function,
00170 const void *context);
00171
00175 GEARMAN_API
00176 void gearman_client_set_workload_free_fn(gearman_client_st *client,
00177 gearman_free_fn *function,
00178 const void *context);
00179
00190 GEARMAN_API
00191 gearman_return_t gearman_client_add_server(gearman_client_st *client,
00192 const char *host, in_port_t port);
00193
00206 GEARMAN_API
00207 gearman_return_t gearman_client_add_servers(gearman_client_st *client,
00208 const char *servers);
00209
00216 GEARMAN_API
00217 void gearman_client_remove_servers(gearman_client_st *client);
00218
00226 GEARMAN_API
00227 gearman_return_t gearman_client_wait(gearman_client_st *client);
00228
00260 GEARMAN_API
00261 void *gearman_client_do(gearman_client_st *client, const char *function_name,
00262 const char *unique, const void *workload,
00263 size_t workload_size, size_t *result_size,
00264 gearman_return_t *ret_ptr);
00265
00270 GEARMAN_API
00271 void *gearman_client_do_high(gearman_client_st *client,
00272 const char *function_name, const char *unique,
00273 const void *workload, size_t workload_size,
00274 size_t *result_size, gearman_return_t *ret_ptr);
00275
00280 GEARMAN_API
00281 void *gearman_client_do_low(gearman_client_st *client,
00282 const char *function_name, const char *unique,
00283 const void *workload, size_t workload_size,
00284 size_t *result_size, gearman_return_t *ret_ptr);
00285
00295 GEARMAN_API
00296 const char *gearman_client_do_job_handle(const gearman_client_st *client);
00297
00307 GEARMAN_API
00308 void gearman_client_do_status(gearman_client_st *client, uint32_t *numerator,
00309 uint32_t *denominator);
00310
00324 GEARMAN_API
00325 gearman_return_t gearman_client_do_background(gearman_client_st *client,
00326 const char *function_name,
00327 const char *unique,
00328 const void *workload,
00329 size_t workload_size,
00330 char *job_handle);
00331
00336 GEARMAN_API
00337 gearman_return_t gearman_client_do_high_background(gearman_client_st *client,
00338 const char *function_name,
00339 const char *unique,
00340 const void *workload,
00341 size_t workload_size,
00342 char *job_handle);
00343
00348 GEARMAN_API
00349 gearman_return_t gearman_client_do_low_background(gearman_client_st *client,
00350 const char *function_name,
00351 const char *unique,
00352 const void *workload,
00353 size_t workload_size,
00354 char *job_handle);
00355
00368 GEARMAN_API
00369 gearman_return_t gearman_client_job_status(gearman_client_st *client,
00370 const char *job_handle,
00371 bool *is_known, bool *is_running,
00372 uint32_t *numerator,
00373 uint32_t *denominator);
00374
00385 GEARMAN_API
00386 gearman_return_t gearman_client_echo(gearman_client_st *client,
00387 const void *workload,
00388 size_t workload_size);
00389
00407 GEARMAN_API
00408 void gearman_task_free(gearman_task_st *task);
00409
00416 GEARMAN_API
00417 void gearman_client_task_free_all(gearman_client_st *client);
00418
00427 GEARMAN_API
00428 void gearman_client_set_task_context_free_fn(gearman_client_st *client,
00429 gearman_task_context_free_fn *function);
00430
00446 GEARMAN_API
00447 gearman_task_st *gearman_client_add_task(gearman_client_st *client,
00448 gearman_task_st *task,
00449 const void *context,
00450 const char *function_name,
00451 const char *unique,
00452 const void *workload,
00453 size_t workload_size,
00454 gearman_return_t *ret_ptr);
00455
00460 GEARMAN_API
00461 gearman_task_st *gearman_client_add_task_high(gearman_client_st *client,
00462 gearman_task_st *task,
00463 const void *context,
00464 const char *function_name,
00465 const char *unique,
00466 const void *workload,
00467 size_t workload_size,
00468 gearman_return_t *ret_ptr);
00469
00474 GEARMAN_API
00475 gearman_task_st *gearman_client_add_task_low(gearman_client_st *client,
00476 gearman_task_st *task,
00477 const void *context,
00478 const char *function_name,
00479 const char *unique,
00480 const void *workload,
00481 size_t workload_size,
00482 gearman_return_t *ret_ptr);
00483
00488 GEARMAN_API
00489 gearman_task_st *gearman_client_add_task_background(gearman_client_st *client,
00490 gearman_task_st *task,
00491 const void *context,
00492 const char *function_name,
00493 const char *unique,
00494 const void *workload,
00495 size_t workload_size,
00496 gearman_return_t *ret_ptr);
00497
00502 GEARMAN_API
00503 gearman_task_st *
00504 gearman_client_add_task_high_background(gearman_client_st *client,
00505 gearman_task_st *task,
00506 const void *context,
00507 const char *function_name,
00508 const char *unique,
00509 const void *workload,
00510 size_t workload_size,
00511 gearman_return_t *ret_ptr);
00512
00517 GEARMAN_API
00518 gearman_task_st *
00519 gearman_client_add_task_low_background(gearman_client_st *client,
00520 gearman_task_st *task,
00521 const void *context,
00522 const char *function_name,
00523 const char *unique,
00524 const void *workload,
00525 size_t workload_size,
00526 gearman_return_t *ret_ptr);
00527
00540 GEARMAN_API
00541 gearman_task_st *gearman_client_add_task_status(gearman_client_st *client,
00542 gearman_task_st *task,
00543 const void *context,
00544 const char *job_handle,
00545 gearman_return_t *ret_ptr);
00546
00554 GEARMAN_API
00555 void gearman_client_set_workload_fn(gearman_client_st *client,
00556 gearman_workload_fn *function);
00557
00565 GEARMAN_API
00566 void gearman_client_set_created_fn(gearman_client_st *client,
00567 gearman_created_fn *function);
00568
00576 GEARMAN_API
00577 void gearman_client_set_data_fn(gearman_client_st *client,
00578 gearman_data_fn *function);
00579
00587 GEARMAN_API
00588 void gearman_client_set_warning_fn(gearman_client_st *client,
00589 gearman_warning_fn *function);
00590
00598 GEARMAN_API
00599 void gearman_client_set_status_fn(gearman_client_st *client,
00600 gearman_status_fn *function);
00601
00609 GEARMAN_API
00610 void gearman_client_set_complete_fn(gearman_client_st *client,
00611 gearman_complete_fn *function);
00612
00620 GEARMAN_API
00621 void gearman_client_set_exception_fn(gearman_client_st *client,
00622 gearman_exception_fn *function);
00623
00631 GEARMAN_API
00632 void gearman_client_set_fail_fn(gearman_client_st *client,
00633 gearman_fail_fn *function);
00634
00641 GEARMAN_API
00642 void gearman_client_clear_fn(gearman_client_st *client);
00643
00651 GEARMAN_API
00652 gearman_return_t gearman_client_run_tasks(gearman_client_st *client);
00653
00658 #ifdef __cplusplus
00659 }
00660 #endif
00661
00662 #endif