00001 /* Gearman server and library 00002 * Copyright (C) 2008 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 #ifndef __GEARMAN_WORKER_H__ 00015 #define __GEARMAN_WORKER_H__ 00016 00017 #ifdef __cplusplus 00018 extern "C" { 00019 #endif 00020 00033 struct gearman_worker_st 00034 { 00035 struct { 00036 bool allocated LIBGEARMAN_BITFIELD; 00037 bool non_blocking LIBGEARMAN_BITFIELD; 00038 bool packet_init LIBGEARMAN_BITFIELD; 00039 bool grab_job_in_use LIBGEARMAN_BITFIELD; 00040 bool pre_sleep_in_use LIBGEARMAN_BITFIELD; 00041 bool work_job_in_use LIBGEARMAN_BITFIELD; 00042 bool change LIBGEARMAN_BITFIELD; 00043 bool grab_uniq LIBGEARMAN_BITFIELD; 00044 bool timeout_return LIBGEARMAN_BITFIELD; 00045 } options; 00046 enum { 00047 GEARMAN_WORKER_STATE_START, 00048 GEARMAN_WORKER_STATE_FUNCTION_SEND, 00049 GEARMAN_WORKER_STATE_CONNECT, 00050 GEARMAN_WORKER_STATE_GRAB_JOB_SEND, 00051 GEARMAN_WORKER_STATE_GRAB_JOB_RECV, 00052 GEARMAN_WORKER_STATE_PRE_SLEEP 00053 } state; 00054 enum { 00055 GEARMAN_WORKER_WORK_UNIVERSAL_GRAB_JOB, 00056 GEARMAN_WORKER_WORK_UNIVERSAL_FUNCTION, 00057 GEARMAN_WORKER_WORK_UNIVERSAL_COMPLETE, 00058 GEARMAN_WORKER_WORK_UNIVERSAL_FAIL 00059 } work_state; 00060 uint32_t function_count; 00061 uint32_t job_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_count; tructjob_