proton  0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Typedefs | Functions
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/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_tpn_selectables (void)
 Construct a new selectables iterator. More...
 
PN_EXTERN pn_selectable_tpn_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_socket_t pn_selectable_fd (pn_selectable_t *selectable)
 Get the file descriptor associated with a selectable. More...
 
PN_EXTERN ssize_t pn_selectable_capacity (pn_selectable_t *selectable)
 Get the capacity of a selectable. More...
 
PN_EXTERN ssize_t pn_selectable_pending (pn_selectable_t *selectable)
 Get the number of bytes pending for a selectable. More...
 
PN_EXTERN pn_timestamp_t pn_selectable_deadline (pn_selectable_t *selectable)
 Get the next deadline for a selectable. More...
 
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_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_free (pn_selectable_t *selectable)
 Free a selectable object. More...
 

Detailed Description

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