UniMRCP  1.7.0
Typedefs | Functions
apt_poller_task.h File Reference

Poller Task. More...

#include "apt_pollset.h"
#include "apt_task.h"
#include "apt_timer_queue.h"
Include dependency graph for apt_poller_task.h:

Go to the source code of this file.

Typedefs

typedef typedefAPT_BEGIN_EXTERN_C struct apt_poller_task_t apt_poller_task_t
 
typedef apt_bool_t(* apt_poll_signal_f) (void *obj, const apr_pollfd_t *descriptor)
 

Functions

apt_poller_task_t * apt_poller_task_create (apr_size_t max_pollset_size, apt_poll_signal_f signal_handler, void *obj, apt_task_msg_pool_t *msg_pool, apr_pool_t *pool)
 
apt_bool_t apt_poller_task_destroy (apt_poller_task_t *task)
 
void apt_poller_task_cleanup (apt_poller_task_t *task)
 
apt_bool_t apt_poller_task_start (apt_poller_task_t *task)
 
apt_bool_t apt_poller_task_terminate (apt_poller_task_t *task)
 
apt_task_t * apt_poller_task_base_get (const apt_poller_task_t *task)
 
apt_task_vtable_t * apt_poller_task_vtable_get (const apt_poller_task_t *task)
 
void * apt_poller_task_object_get (const apt_poller_task_t *task)
 
apt_bool_t apt_poller_task_descriptor_add (const apt_poller_task_t *task, const apr_pollfd_t *descriptor)
 
apt_bool_t apt_poller_task_descriptor_remove (const apt_poller_task_t *task, const apr_pollfd_t *descriptor)
 
apt_timer_t * apt_poller_task_timer_create (apt_poller_task_t *task, apt_timer_proc_f proc, void *obj, apr_pool_t *pool)
 

Detailed Description

Poller Task.

Typedef Documentation

◆ apt_poll_signal_f

typedef apt_bool_t(* apt_poll_signal_f) (void *obj, const apr_pollfd_t *descriptor)

Function prototype to handle signalled descripors

◆ apt_poller_task_t

typedef typedefAPT_BEGIN_EXTERN_C struct apt_poller_task_t apt_poller_task_t

Opaque poller task declaration

Function Documentation

◆ apt_poller_task_base_get()

apt_task_t* apt_poller_task_base_get ( const apt_poller_task_t *  task)

Get task base.

Parameters
taskthe poller task to get task base from

◆ apt_poller_task_cleanup()

void apt_poller_task_cleanup ( apt_poller_task_t *  task)

Cleanup poller task.

Parameters
taskthe task to cleanup
Remarks
This function should be considered in protected scope. It will be called on task destroy unless you override the behavior.

◆ apt_poller_task_create()

apt_poller_task_t* apt_poller_task_create ( apr_size_t  max_pollset_size,
apt_poll_signal_f  signal_handler,
void *  obj,
apt_task_msg_pool_t *  msg_pool,
apr_pool_t *  pool 
)

Create poller task.

Parameters
max_pollset_sizethe maximum number of descriptors pollset can hold
signal_handlerthe handler of signalled descriptors
objthe external object to pass to callback
msg_poolthe pool of task messages
poolthe pool to allocate memory from

◆ apt_poller_task_descriptor_add()

apt_bool_t apt_poller_task_descriptor_add ( const apt_poller_task_t *  task,
const apr_pollfd_t *  descriptor 
)

Add descriptor to pollset.

Parameters
taskthe task which holds the pollset
descriptorthe descriptor to add

◆ apt_poller_task_descriptor_remove()

apt_bool_t apt_poller_task_descriptor_remove ( const apt_poller_task_t *  task,
const apr_pollfd_t *  descriptor 
)

Remove descriptor from pollset.

Parameters
taskthe task which holds the pollset
descriptorthe descriptor to remove

◆ apt_poller_task_destroy()

apt_bool_t apt_poller_task_destroy ( apt_poller_task_t *  task)

Destroy poller task.

Parameters
taskthe task to destroy

◆ apt_poller_task_object_get()

void* apt_poller_task_object_get ( const apt_poller_task_t *  task)

Get external object.

Parameters
taskthe poller task to get object from

◆ apt_poller_task_start()

apt_bool_t apt_poller_task_start ( apt_poller_task_t *  task)

Start poller task and wait for incoming messages.

Parameters
taskthe task to start

◆ apt_poller_task_terminate()

apt_bool_t apt_poller_task_terminate ( apt_poller_task_t *  task)

Terminate poller task.

Parameters
taskthe task to terminate

◆ apt_poller_task_timer_create()

apt_timer_t* apt_poller_task_timer_create ( apt_poller_task_t *  task,
apt_timer_proc_f  proc,
void *  obj,
apr_pool_t *  pool 
)

Create timer.

Parameters
taskthe poller task to create timer in the scope of
procthe timer callback
objthe object to pass to callback
poolthe pool to allocate memory from

◆ apt_poller_task_vtable_get()

apt_task_vtable_t* apt_poller_task_vtable_get ( const apt_poller_task_t *  task)

Get task vtable.

Parameters
taskthe poller task to get vtable from