# Client (gearman_client_st)

## SYNOPSIS

#include <libgearman/gearman.h>

type gearman_client_st

type gearman_task_context_free_fn

int gearman_client_timeout(gearman_client_st *client)

void gearman_client_set_timeout(gearman_client_st *client, int timeout)

void *gearman_client_context(const gearman_client_st *client)

void gearman_client_set_context(gearman_client_st *client, void *context)

void gearman_client_set_workload_malloc_fn(gearman_client_st *client, gearman_malloc_fn *function, void *context)

Deprecated since version 0.23: Use `gearman_allocator_t`

void gearman_client_set_workload_free_fn(gearman_client_st *client, gearman_free_fn *function, void *context)

Deprecated since version 0.23: Use `gearman_allocator_t`

void gearman_client_task_free_all(gearman_client_st *client)

void gearman_client_set_task_context_free_fn(gearman_client_st *client, gearman_task_context_free_fn *function)

Link with -lgearman

## DESCRIPTION

`gearman_client_st` is used for client communication with the server.

`gearman_client_context()` and `gearman_client_set_context()` can be used to store an arbitrary object for the user.

`gearman_client_set_task_context_free_fn()` sets a trigger that will be called when a `gearman_task_st` is released.

`gearman_client_timeout()` and `gearman_client_set_timeout()` get and set the current connection timeout value, in milliseconds, for the client.

Normally malloc(3) and free(3) are used for allocation and releasing workloads. `gearman_client_set_workload_malloc_fn()` and `gearman_client_set_workload_free_fn()` can be used to replace these with custom functions. (These have been deprecated, please see `gearman_allocator_t` for the updated interface.

`gearman_client_task_free_all()` is used to free all current `gearman_task_st` that have been created with the `gearman_client_st`.

Warning

By calling `gearman_client_task_free_all()` you can end up with a SEGFAULT if you try to use any `gearman_task_st` that you have kept pointers too.

## RETURN VALUE

`gearman_client_timeout()` returns an integer representing the amount of time in milliseconds to wait for a connection before throwing an error. A value of -1 means an infinite timeout value.

## HOME

To find out more information please check: http://gearman.info/

See also

gearmand(8) libgearman(3) gearman_client_create(3)