Qpid Proton C API  0.18.0
event.h File Reference

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.

Typedefs

typedef struct pn_event_t pn_event_t
 Notification of a state change in the protocol engine. More...
 
typedef struct pn_event_batch_t pn_event_batch_t
 Unsettled API - A batch of events that must be handled in sequence. More...
 

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. More...
 
pn_collector_tpn_collector (void)
 Construct a collector. More...
 
void pn_collector_free (pn_collector_t *collector)
 Free a collector. More...
 
void pn_collector_release (pn_collector_t *collector)
 Release a collector. More...
 
void pn_collector_drain (pn_collector_t *collector)
 Drain a collector: remove and discard all events. More...
 
pn_event_tpn_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. More...
 
pn_event_tpn_collector_peek (pn_collector_t *collector)
 Access the head event contained by a collector. More...
 
bool pn_collector_pop (pn_collector_t *collector)
 Remove the head event on a collector. More...
 
pn_event_tpn_collector_next (pn_collector_t *collector)
 Pop and return the head event, returns NULL if the collector is empty. More...
 
pn_event_tpn_collector_prev (pn_collector_t *collector)
 Return the same pointer as the most recent call to pn_collector_next(). More...
 
bool pn_collector_more (pn_collector_t *collector)
 Check if there are more events after the current head event. More...
 
pn_event_type_t pn_event_type (pn_event_t *event)
 Get the type of an event. More...
 
const pn_class_t * pn_event_class (pn_event_t *event)
 Get the class associated with the event context. More...
 
void * pn_event_context (pn_event_t *event)
 Get the context associated with an event.
 
pn_connection_tpn_event_connection (pn_event_t *event)
 Get the connection associated with an event. More...
 
pn_session_tpn_event_session (pn_event_t *event)
 Get the session associated with an event. More...
 
pn_link_tpn_event_link (pn_event_t *event)
 Get the link associated with an event. More...
 
pn_delivery_tpn_event_delivery (pn_event_t *event)
 Get the delivery associated with an event. More...
 
pn_transport_tpn_event_transport (pn_event_t *event)
 Get the transport associated with an event. More...
 
pn_record_t * pn_event_attachments (pn_event_t *event)
 Get any attachments associated with an event. More...
 
struct pn_condition_tpn_event_condition (pn_event_t *event)
 If the event context object has a condition and the condition is set return it, otherwise return NULL. More...
 
pn_event_tpn_event_batch_next (pn_event_batch_t *batch)
 Unsettled API - Remove the next event from the batch and return it. More...
 

Detailed Description

Protocol and transport events.