Qpid Proton C API  0.17.0
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
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
 Experimental - A batch of events to handle. 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_WRITE_CLOSED, PN_TRANSPORT_TAIL_CLOSED, PN_TRANSPORT_READ_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
}
 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...
 
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)
 Clear the head event on a collector. More...
 
pn_event_tpn_collector_next (pn_collector_t *collector)
 Return the next event to be handled. More...
 
pn_event_tpn_collector_prev (pn_collector_t *collector)
 Return the same event as the previous call to pn_collector_next() More...
 
bool pn_collector_more (pn_collector_t *collector)
 Check if there are more events after the current 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...
 
pn_event_tpn_event_batch_next (pn_event_batch_t *batch)
 Experimental - Remove the next event from the batch and return it. More...
 

Detailed Description

Protocol and transport events.