Gearman Core Interface
Data Structures |
struct | gearman_st |
Modules |
| Private Functions |
Enumerations |
enum | gearman_options_t { GEARMAN_ALLOCATED = (1 << 0),
GEARMAN_NON_BLOCKING = (1 << 1),
GEARMAN_DONT_TRACK_PACKETS = (1 << 2)
} |
Functions |
const char * | gearman_version (void) |
const char * | gearman_bugreport (void) |
const char * | gearman_verbose_name (gearman_verbose_t verbose) |
gearman_st * | gearman_create (gearman_st *gearman) |
gearman_st * | gearman_clone (gearman_st *gearman, const gearman_st *from) |
void | gearman_free (gearman_st *gearman) |
const char * | gearman_error (const gearman_st *gearman) |
int | gearman_errno (const gearman_st *gearman) |
gearman_options_t | gearman_options (const gearman_st *gearman) |
void | gearman_set_options (gearman_st *gearman, gearman_options_t options) |
void | gearman_add_options (gearman_st *gearman, gearman_options_t options) |
void | gearman_remove_options (gearman_st *gearman, gearman_options_t options) |
int | gearman_timeout (gearman_st *gearman) |
void | gearman_set_timeout (gearman_st *gearman, int timeout) |
void | gearman_set_log_fn (gearman_st *gearman, gearman_log_fn *function, const void *context, gearman_verbose_t verbose) |
void | gearman_set_event_watch_fn (gearman_st *gearman, gearman_event_watch_fn *function, const void *context) |
void | gearman_set_workload_malloc_fn (gearman_st *gearman, gearman_malloc_fn *function, const void *context) |
void | gearman_set_workload_free_fn (gearman_st *gearman, gearman_free_fn *function, const void *context) |
gearman_con_st * | gearman_con_create (gearman_st *gearman, gearman_con_st *con) |
gearman_con_st * | gearman_con_add (gearman_st *gearman, gearman_con_st *con, const char *host, in_port_t port) |
gearman_con_st * | gearman_con_clone (gearman_st *gearman, gearman_con_st *con, const gearman_con_st *from) |
void | gearman_con_free (gearman_con_st *con) |
void | gearman_con_free_all (gearman_st *gearman) |
gearman_return_t | gearman_con_flush_all (gearman_st *gearman) |
gearman_return_t | gearman_con_send_all (gearman_st *gearman, const gearman_packet_st *packet) |
gearman_return_t | gearman_con_wait (gearman_st *gearman) |
gearman_con_st * | gearman_con_ready (gearman_st *gearman) |
gearman_return_t | gearman_con_echo (gearman_st *gearman, const void *workload, size_t workload_size) |
gearman_packet_st * | gearman_packet_create (gearman_st *gearman, gearman_packet_st *packet) |
gearman_return_t | gearman_packet_add (gearman_st *gearman, gearman_packet_st *packet, gearman_magic_t magic, gearman_command_t command, const void *arg,...) |
void | gearman_packet_free (gearman_packet_st *packet) |
void | gearman_packet_free_all (gearman_st *gearman) |
Detailed Description
This is a low level interface for gearman library instances. This is used internally by both client and worker interfaces, so you probably want to look there first. This is usually used to write lower level clients, workers, proxies, or your own server.
There is no locking within a single gearman_st structure, so for threaded applications you must either ensure isolation in the application or use multiple gearman_st structures (for example, one for each thread).
Enumeration Type Documentation
Options for gearman_st.
- Enumerator:
GEARMAN_ALLOCATED |
|
GEARMAN_NON_BLOCKING |
|
GEARMAN_DONT_TRACK_PACKETS |
|
Definition at line 128 of file constants.h.
Function Documentation
const char* gearman_version |
( |
void |
|
) |
|
Get Gearman library version.
- Returns:
- Version string of library.
Definition at line 44 of file gearman.c.
const char* gearman_bugreport |
( |
void |
|
) |
|
Get bug report URL.
- Returns:
- Bug report URL string.
Definition at line 49 of file gearman.c.
Get string with the name of the given verbose level.
- Parameters:
-
[in] | verbose | Verbose logging level. |
- Returns:
- String form of verbose level.
Definition at line 54 of file gearman.c.
Initialize a gearman structure. Always check the return value even if passing in a pre-allocated structure. Some other initialization may have failed.
- Parameters:
-
[in] | gearman | Caller allocated structure, or NULL to allocate one. |
- Returns:
- On success, a pointer to the (possibly allocated) structure. On failure this will be NULL.
Definition at line 62 of file gearman.c.
Clone a gearman structure.
- Parameters:
-
[in] | gearman | Caller allocated structure, or NULL to allocate one. |
[in] | from | Structure to use as a source to clone from. |
- Returns:
- Same return as gearman_create().
Definition at line 98 of file gearman.c.
Free a gearman structure.
- Parameters:
-
Definition at line 124 of file gearman.c.
const char* gearman_error |
( |
const gearman_st * |
gearman |
) |
|
Return an error string for last error encountered.
- Parameters:
-
- Returns:
- Pointer to a buffer in the structure that holds an error string.
Definition at line 136 of file gearman.c.
Value of errno in the case of a GEARMAN_ERRNO return value.
- Parameters:
-
- Returns:
- An errno value as defined in your system errno.h file.
Definition at line 141 of file gearman.c.
Get options for a gearman structure.
- Parameters:
-
- Returns:
- Options set for the gearman structure.
Definition at line 146 of file gearman.c.
Set options for a gearman structure.
- Parameters:
-
Definition at line 151 of file gearman.c.
Add options for a gearman structure.
- Parameters:
-
Definition at line 156 of file gearman.c.
Remove options for a gearman structure.
- Parameters:
-
Definition at line 161 of file gearman.c.
Get current socket I/O activity timeout value.
- Parameters:
-
- Returns:
- Timeout in milliseconds to wait for I/O activity. A negative value means an infinite timeout.
Definition at line 166 of file gearman.c.
void gearman_set_timeout |
( |
gearman_st * |
gearman, |
|
|
int |
timeout | |
|
) |
| | |
Set socket I/O activity timeout for connections in a Gearman structure.
- Parameters:
-
[in] | gearman | Structure previously initialized with gearman_create() or gearman_clone(). |
[in] | timeout | Milliseconds to wait for I/O activity. A negative value means an infinite timeout. |
Definition at line 171 of file gearman.c.
Set logging function for a gearman structure.
- Parameters:
-
[in] | gearman | Structure previously initialized with gearman_create() or gearman_clone(). |
[in] | function | Function to call when there is a logging message. |
[in] | context | Argument to pass into the callback function. |
[in] | verbose | Verbosity level threshold. Only call function when the logging message is equal to or less verbose that this. |
Definition at line 176 of file gearman.c.
Set custom I/O event callback function for a gearman structure.
- Parameters:
-
[in] | gearman | Structure previously initialized with gearman_create() or gearman_clone(). |
[in] | function | Function to call when there is an I/O event. |
[in] | context | Argument to pass into the callback function. |
Definition at line 184 of file gearman.c.
Set custom memory allocation function for workloads. Normally gearman uses the standard system malloc to allocate memory used with workloads. The provided function will be used instead.
- Parameters:
-
[in] | gearman | Structure previously initialized with gearman_create() or gearman_clone(). |
[in] | function | Memory allocation function to use instead of malloc(). |
[in] | context | Argument to pass into the callback function. |
Definition at line 192 of file gearman.c.
Set custom memory free function for workloads. Normally gearman uses the standard system free to free memory used with workloads. The provided function will be used instead.
- Parameters:
-
[in] | gearman | Structure previously initialized with gearman_create() or gearman_clone(). |
[in] | function | Memory free function to use instead of free(). |
[in] | context | Argument to pass into the callback function. |
Definition at line 200 of file gearman.c.
Initialize a connection structure. Always check the return value even if passing in a pre-allocated structure. Some other initialization may have failed.
- Parameters:
-
- Returns:
- On success, a pointer to the (possibly allocated) structure. On failure this will be NULL.
Definition at line 212 of file gearman.c.
Create a connection structure with the given host and port.
- Parameters:
-
[in] | gearman | Structure previously initialized with gearman_create() or gearman_clone(). |
[in] | con | Caller allocated structure, or NULL to allocate one. |
[in] | host | Host or IP address to connect to. |
[in] | port | Port to connect to. |
- Returns:
- On success, a pointer to the (possibly allocated) structure. On failure this will be NULL.
Definition at line 267 of file gearman.c.
Clone a connection structure.
- Parameters:
-
[in] | gearman | Structure previously initialized with gearman_create() or gearman_clone(). |
[in] | con | Caller allocated structure, or NULL to allocate one. |
[in] | from | Structure to use as a source to clone from. |
- Returns:
- On success, a pointer to the (possibly allocated) structure. On failure this will be NULL.
Definition at line 280 of file gearman.c.
Free a connection structure.
- Parameters:
-
Definition at line 295 of file gearman.c.
void gearman_con_free_all |
( |
gearman_st * |
gearman |
) |
|
Free all connections for a gearman structure.
- Parameters:
-
Definition at line 320 of file gearman.c.
Flush the send buffer for all connections.
- Parameters:
-
- Returns:
- Standard gearman return value.
Definition at line 326 of file gearman.c.
Send packet to all connections.
- Parameters:
-
- Returns:
- Standard gearman return value.
Definition at line 344 of file gearman.c.
Wait for I/O on connections.
- Parameters:
-
- Returns:
- Standard gearman return value.
Definition at line 412 of file gearman.c.
Get next connection that is ready for I/O.
- Parameters:
-
- Returns:
- Connection that is ready for I/O, or NULL if there are none.
Definition at line 492 of file gearman.c.
Test echo with all connections.
- Parameters:
-
[in] | gearman | Structure previously initialized with gearman_create() or gearman_clone(). |
[in] | workload | Data to send in echo packet. |
[in] | workload_size | Size of workload. |
- Returns:
- Standard gearman return value.
Definition at line 511 of file gearman.c.
Initialize a packet structure.
- Parameters:
-
- Returns:
- On success, a pointer to the (possibly allocated) structure. On failure this will be NULL.
Definition at line 567 of file gearman.c.
Initialize a packet with all arguments. Variable list is NULL terminated alternating argument and argument size (size_t) pairs. For example:
ret= gearman_packet_add_args(gearman, packet,
GEARMAN_MAGIC_REQUEST,
GEARMAN_COMMAND_SUBMIT_JOB,
function_name, strlen(function_name) + 1,
unique_string, strlen(unique_string) + 1,
workload, workload_size, NULL);
- Parameters:
-
[in] | gearman | Structure previously initialized with gearman_create() or gearman_clone(). |
[in] | packet | Pre-allocated packet to initialize with arguments. |
[in] | magic | Magic type for packet header. |
[in] | command | Command type for packet. |
[in] | arg | NULL terminated argument list in pairs of "arg, arg_size". |
- Returns:
- Standard gearman return value.
Definition at line 607 of file gearman.c.
Free a packet structure.
- Parameters:
-
Definition at line 646 of file gearman.c.
void gearman_packet_free_all |
( |
gearman_st * |
gearman |
) |
|
Free all packets for a gearman structure.
- Parameters:
-
Definition at line 677 of file gearman.c.