Apache2
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
h2_worker.h File Reference

Go to the source code of this file.

Data Structures

struct  h2_worker
 

Macros

#define H2_WORKER_LIST_SENTINEL(b)   APR_RING_SENTINEL((b), h2_worker, link)
 
#define H2_WORKER_LIST_EMPTY(b)   APR_RING_EMPTY((b), h2_worker, link)
 
#define H2_WORKER_LIST_FIRST(b)   APR_RING_FIRST(b)
 
#define H2_WORKER_LIST_LAST(b)   APR_RING_LAST(b)
 
#define H2_WORKER_LIST_INSERT_HEAD(b, e)
 
#define H2_WORKER_LIST_INSERT_TAIL(b, e)
 
#define H2_WORKER_NEXT(e)   APR_RING_NEXT((e), link)
 
#define H2_WORKER_PREV(e)   APR_RING_PREV((e), link)
 
#define H2_WORKER_REMOVE(e)   APR_RING_REMOVE((e), link)
 

Typedefs

typedef struct h2_worker h2_worker
 
typedef apr_status_t h2_worker_mplx_next_fn (h2_worker *worker, void *ctx, struct h2_task **ptask, int *psticky)
 
typedef void h2_worker_done_fn (h2_worker *worker, void *ctx)
 

Functions

h2_workerh2_worker_create (int id, apr_pool_t *pool, apr_threadattr_t *attr, h2_worker_mplx_next_fn *get_next, h2_worker_done_fn *worker_done, void *ctx)
 
apr_status_t h2_worker_destroy (h2_worker *worker)
 
void h2_worker_abort (h2_worker *worker)
 
int h2_worker_is_aborted (h2_worker *worker)
 

Macro Definition Documentation

#define H2_WORKER_LIST_EMPTY (   b)    APR_RING_EMPTY((b), h2_worker, link)

Determine if the worker list is empty

Parameters
bThe list to check
Returns
true or false
#define H2_WORKER_LIST_FIRST (   b)    APR_RING_FIRST(b)

Return the first worker in a list

Parameters
bThe list to query
Returns
The first worker in the list
#define H2_WORKER_LIST_INSERT_HEAD (   b,
 
)
Value:
do { \
h2_worker *ap__b = (e); \
APR_RING_INSERT_HEAD((b), ap__b, h2_worker, link); \
} while (0)
#define APR_RING_INSERT_HEAD(hp, nep, elem, link)
Definition: apr_ring.h:311
Definition: h2_worker.h:40
struct h2_worker h2_worker
Definition: h2_worker.h:26

Insert a single worker at the front of a list

Parameters
bThe list to add to
eThe worker to insert
#define H2_WORKER_LIST_INSERT_TAIL (   b,
 
)
Value:
do { \
h2_worker *ap__b = (e); \
APR_RING_INSERT_TAIL((b), ap__b, h2_worker, link); \
} while (0)
#define APR_RING_INSERT_TAIL(hp, nep, elem, link)
Definition: apr_ring.h:322
Definition: h2_worker.h:40
struct h2_worker h2_worker
Definition: h2_worker.h:26

Insert a single worker at the end of a list

Parameters
bThe list to add to
eThe worker to insert
#define H2_WORKER_LIST_LAST (   b)    APR_RING_LAST(b)

Return the last worker in a list

Parameters
bThe list to query
Returns
The last worker int he list
#define H2_WORKER_LIST_SENTINEL (   b)    APR_RING_SENTINEL((b), h2_worker, link)

The magic pointer value that indicates the head of a h2_worker list

Parameters
bThe worker list
Returns
The magic pointer value
#define H2_WORKER_NEXT (   e)    APR_RING_NEXT((e), link)

Get the next worker in the list

Parameters
eThe current worker
Returns
The next worker
#define H2_WORKER_PREV (   e)    APR_RING_PREV((e), link)

Get the previous worker in the list

Parameters
eThe current worker
Returns
The previous worker
#define H2_WORKER_REMOVE (   e)    APR_RING_REMOVE((e), link)

Remove a worker from its list

Parameters
eThe worker to remove

Typedef Documentation

typedef struct h2_worker h2_worker
typedef void h2_worker_done_fn(h2_worker *worker, void *ctx)
typedef apr_status_t h2_worker_mplx_next_fn(h2_worker *worker, void *ctx, struct h2_task **ptask, int *psticky)

Function Documentation

void h2_worker_abort ( h2_worker worker)
h2_worker* h2_worker_create ( int  id,
apr_pool_t pool,
apr_threadattr_t attr,
h2_worker_mplx_next_fn get_next,
h2_worker_done_fn worker_done,
void ctx 
)
apr_status_t h2_worker_destroy ( h2_worker worker)
int h2_worker_is_aborted ( h2_worker worker)