getdns_eventloop_event Struct Reference

#include <getdns_extra.h>

Data Fields

void * userarg
getdns_eventloop_callback read_cb
getdns_eventloop_callback write_cb
getdns_eventloop_callback timeout_cb
void * ev

Detailed Description

getdns uses an event loop abstraction layer to interface with event loop extensions. The extension accepts registration of getdns_eventloop_events and translates them to the underlying event loop API for which it is an extension. Also applications using getdns can use the abstraction layer themselves and in doing so inherit the flexibility being immediately compatible with all the event loop systems for which there is an extension already (i.e. libevent, libev and libuv).

Definition at line 215 of file getdns_extra.h.

Field Documentation

◆ userarg

void* getdns_eventloop_event::userarg

The userarg argument that will be passed to the getdns_eventloop_callbacks when they are fired.

Definition at line 220 of file getdns_extra.h.

◆ read_cb

getdns_eventloop_callback getdns_eventloop_event::read_cb

When not NULL, it will be fired when the associated file descriptor is readable.

Definition at line 226 of file getdns_extra.h.

◆ write_cb

getdns_eventloop_callback getdns_eventloop_event::write_cb

When not NULL, it will be fired when the associated file descriptor is writable.

Definition at line 232 of file getdns_extra.h.

◆ timeout_cb

getdns_eventloop_callback getdns_eventloop_event::timeout_cb

When not NULL, it will be fired when the during scheduling specified timeout time has passed.

Definition at line 238 of file getdns_extra.h.

◆ ev

void* getdns_eventloop_event::ev

Pointer to the underlying event that an eventloop extension must manage (i.e. create and free.)

Definition at line 244 of file getdns_extra.h.

The documentation for this struct was generated from the following file: