selectable.h File Reference

The selectable API provides an interface for integration with third party event loops. More...

`#include <proton/import_export.h>`
`#include <proton/object.h>`
`#include <proton/event.h>`
`#include <proton/io.h>`
`#include <proton/type_compat.h>`

Go to the source code of this file.

## Typedefs

typedef pn_iterator_t | pn_selectables_t
| An iterator for selectables. More...
typedef struct pn_selectable_t | pn_selectable_t
| A selectable object provides an interface that can be used to incorporate proton's I/O into third party event loops. More...

## Functions

PN_EXTERN pn_selectables_t * | pn_selectables (void)
| Construct a new selectables iterator. More...
PN_EXTERN pn_selectable_t * | pn_selectables_next (pn_selectables_t *selectables)
| Get the next selectable from an iterator. More...
PN_EXTERN void | pn_selectables_free (pn_selectables_t *selectables)
| Free a selectables iterator. More...
PN_EXTERN pn_selectable_t * | pn_selectable (void)
PN_EXTERN void | pn_selectable_on_readable (pn_selectable_t *sel, void(*readable)(pn_selectable_t *))
PN_EXTERN void | pn_selectable_on_writable (pn_selectable_t *sel, void(*writable)(pn_selectable_t *))
PN_EXTERN void | pn_selectable_on_expired (pn_selectable_t *sel, void(*expired)(pn_selectable_t *))
PN_EXTERN void | pn_selectable_on_error (pn_selectable_t *sel, void(*error)(pn_selectable_t *))
PN_EXTERN void | pn_selectable_on_release (pn_selectable_t *sel, void(*release)(pn_selectable_t *))
PN_EXTERN void | pn_selectable_on_finalize (pn_selectable_t *sel, void(*finalize)(pn_selectable_t *))
PN_EXTERN pn_record_t * | pn_selectable_attachments (pn_selectable_t *sel)
PN_EXTERN pn_socket_t | pn_selectable_get_fd (pn_selectable_t *selectable)
| Get the file descriptor associated with a selectable. More...
PN_EXTERN void | pn_selectable_set_fd (pn_selectable_t *selectable, pn_socket_t fd)
| Set the file descriptor associated with a selectable. More...
PN_EXTERN bool | pn_selectable_is_reading (pn_selectable_t *selectable)
| Check if a selectable is interested in readable events. More...
PN_EXTERN void | pn_selectable_set_reading (pn_selectable_t *sel, bool reading)
PN_EXTERN bool | pn_selectable_is_writing (pn_selectable_t *selectable)
| Check if a selectable is interested in writable events. More...
PN_EXTERN void | pn_selectable_set_writing (pn_selectable_t *sel, bool writing)
PN_EXTERN pn_timestamp_t | pn_selectable_get_deadline (pn_selectable_t *selectable)
| Get the next deadline for a selectable. More...
PN_EXTERN void | pn_selectable_set_deadline (pn_selectable_t *sel, pn_timestamp_t deadline)
PN_EXTERN void | pn_selectable_readable (pn_selectable_t *selectable)
| Notify a selectable that the file descriptor is readable. More...
PN_EXTERN void | pn_selectable_writable (pn_selectable_t *selectable)
| Notify a selectable that the file descriptor is writable. More...
PN_EXTERN void | pn_selectable_error (pn_selectable_t *selectable)
| Notify a selectable that there is an error on the file descriptor. More...
PN_EXTERN void | pn_selectable_expired (pn_selectable_t *selectable)
| Notify a selectable that its deadline has expired. More...
PN_EXTERN bool | pn_selectable_is_registered (pn_selectable_t *selectable)
| Check if a selectable is registered. More...
PN_EXTERN void | pn_selectable_set_registered (pn_selectable_t *selectable, bool registered)
| Set the registered flag for a selectable. More...
PN_EXTERN bool | pn_selectable_is_terminal (pn_selectable_t *selectable)
| Check if a selectable is in the terminal state. More...
PN_EXTERN void | pn_selectable_terminate (pn_selectable_t *selectable)
| Terminate a selectable. More...
PN_EXTERN void | pn_selectable_release (pn_selectable_t *selectable)
PN_EXTERN void | pn_selectable_free (pn_selectable_t *selectable)
| Free a selectable object. More...
PN_EXTERN void | pn_selectable_collect (pn_selectable_t *selectable, pn_collector_t *collector)
| Configure a selectable with a set of callbacks that emit readable, writable, and expired events into the supplied collector. More...

## Detailed Description

The selectable API provides an interface for integration with third party event loops.