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_SERVER_PACKET_H__ 00015 #define __GEARMAN_SERVER_PACKET_H__ 00016 00017 #ifdef __cplusplus 00018 extern "C" { 00019 #endif 00020 00032 GEARMAN_API 00033 gearman_server_packet_st * 00034 gearman_server_packet_create(gearman_server_thread_st *thread, 00035 bool from_thread); 00036 00040 GEARMAN_API 00041 void gearman_server_packet_free(gearman_server_packet_st *packet, 00042 gearman_server_thread_st *thread, 00043 bool from_thread); 00044 00048 GEARMAN_API 00049 gearman_return_t gearman_server_io_packet_add(gearman_server_con_st *con, 00050 bool take_data, 00051 gearman_magic_t magic, 00052 gearman_command_t command, 00053 const void *arg, ...); 00054 00058 GEARMAN_API 00059 void gearman_server_io_packet_remove(gearman_server_con_st *con); 00060 00064 GEARMAN_API 00065 void gearman_server_proc_packet_add(gearman_server_con_st *con, 00066 gearman_server_packet_st *packet); 00067 00071 GEARMAN_API 00072 gearman_server_packet_st * 00073 gearman_server_proc_packet_remove(gearman_server_con_st *con); 00074 00077 #ifdef __cplusplus 00078 } 00079 #endif 00080 00081 #endif /* __GEARMAN_SERVER_PACKET_H__ */