Protocol and transport events. More...
#include <proton/import_export.h>
#include <proton/type_compat.h>
#include <proton/object.h>
#include <stddef.h>
Go to the source code of this file.
Defines | |
#define | PROTON_EVENT_H |
Typedefs | |
typedef struct pn_event_t | pn_event_t |
Notification of a state change in the protocol engine. | |
typedef struct pn_event_batch_t | pn_event_batch_t |
**Unsettled API** - A batch of events that must be handled in sequence. | |
Enumerations | |
enum | pn_event_type_t { PN_EVENT_NONE, PN_REACTOR_INIT, PN_REACTOR_QUIESCED, PN_REACTOR_FINAL, PN_TIMER_TASK, PN_CONNECTION_INIT, PN_CONNECTION_BOUND, PN_CONNECTION_UNBOUND, PN_CONNECTION_LOCAL_OPEN, PN_CONNECTION_REMOTE_OPEN, PN_CONNECTION_LOCAL_CLOSE, PN_CONNECTION_REMOTE_CLOSE, PN_CONNECTION_FINAL, PN_SESSION_INIT, PN_SESSION_LOCAL_OPEN, PN_SESSION_REMOTE_OPEN, PN_SESSION_LOCAL_CLOSE, PN_SESSION_REMOTE_CLOSE, PN_SESSION_FINAL, PN_LINK_INIT, PN_LINK_LOCAL_OPEN, PN_LINK_REMOTE_OPEN, PN_LINK_LOCAL_CLOSE, PN_LINK_REMOTE_CLOSE, PN_LINK_LOCAL_DETACH, PN_LINK_REMOTE_DETACH, PN_LINK_FLOW, PN_LINK_FINAL, PN_DELIVERY, PN_TRANSPORT, PN_TRANSPORT_AUTHENTICATED, PN_TRANSPORT_ERROR, PN_TRANSPORT_HEAD_CLOSED, PN_TRANSPORT_TAIL_CLOSED, PN_TRANSPORT_CLOSED, PN_SELECTABLE_INIT, PN_SELECTABLE_UPDATED, PN_SELECTABLE_READABLE, PN_SELECTABLE_WRITABLE, PN_SELECTABLE_ERROR, PN_SELECTABLE_EXPIRED, PN_SELECTABLE_FINAL, PN_CONNECTION_WAKE, PN_LISTENER_ACCEPT, PN_LISTENER_CLOSE, PN_PROACTOR_INTERRUPT, PN_PROACTOR_TIMEOUT, PN_PROACTOR_INACTIVE, PN_LISTENER_OPEN } |
An event type. More... | |
Functions | |
const char * | pn_event_type_name (pn_event_type_t type) |
Get a human readable name for an event type. | |
pn_collector_t * | pn_collector (void) |
Construct a collector. | |
void | pn_collector_free (pn_collector_t *collector) |
Free a collector. | |
void | pn_collector_release (pn_collector_t *collector) |
Release a collector. | |
void | pn_collector_drain (pn_collector_t *collector) |
Drain a collector: remove and discard all events. | |
pn_event_t * | pn_collector_put (pn_collector_t *collector, const pn_class_t *clazz, void *context, pn_event_type_t type) |
Place a new event on a collector. | |
pn_event_t * | pn_collector_peek (pn_collector_t *collector) |
Access the head event contained by a collector. | |
bool | pn_collector_pop (pn_collector_t *collector) |
Remove the head event on a collector. | |
pn_event_t * | pn_collector_next (pn_collector_t *collector) |
Pop and return the head event, returns NULL if the collector is empty. | |
pn_event_t * | pn_collector_prev (pn_collector_t *collector) |
Return the same pointer as the most recent call to pn_collector_next(). | |
bool | pn_collector_more (pn_collector_t *collector) |
Check if there are more events after the current head event. | |
pn_event_type_t | pn_event_type (pn_event_t *event) |
Get the type of an event. | |
const pn_class_t * | pn_event_class (pn_event_t *event) |
Get the class associated with the event context. | |
void * | pn_event_context (pn_event_t *event) |
Get the context associated with an event. | |
pn_connection_t * | pn_event_connection (pn_event_t *event) |
Get the connection associated with an event. | |
pn_session_t * | pn_event_session (pn_event_t *event) |
Get the session associated with an event. | |
pn_link_t * | pn_event_link (pn_event_t *event) |
Get the link associated with an event. | |
pn_delivery_t * | pn_event_delivery (pn_event_t *event) |
Get the delivery associated with an event. | |
pn_transport_t * | pn_event_transport (pn_event_t *event) |
Get the transport associated with an event. | |
pn_record_t * | pn_event_attachments (pn_event_t *event) |
Get any attachments associated with an event. | |
struct pn_condition_t * | pn_event_condition (pn_event_t *event) |
If the event context object has a condition and the condition is set return it, otherwise return NULL. | |
pn_event_t * | pn_event_batch_next (pn_event_batch_t *batch) |
**Unsettled API** - Remove the next event from the batch and return it. |
Protocol and transport events.