proton
0
|
Typedefs | |
typedef struct pn_event_t | pn_event_t |
An event provides notification of a state change within the protocol engine's object model. More... | |
typedef struct pn_collector_t | pn_collector_t |
An event collector. More... | |
Enumerations | |
enum | pn_event_category_t { PN_EVENT_CATEGORY_NONE = 0, PN_EVENT_CATEGORY_PROTOCOL = 0x00010000, PN_EVENT_CATEGORY_COUNT = 2 } |
Related events are grouped into categories. More... | |
enum | pn_event_type_t { PN_EVENT_NONE = 0, PN_CONNECTION_REMOTE_STATE = PN_EVENT_CATEGORY_PROTOCOL+1, PN_CONNECTION_LOCAL_STATE = PN_EVENT_CATEGORY_PROTOCOL+2, PN_SESSION_REMOTE_STATE = PN_EVENT_CATEGORY_PROTOCOL+3, PN_SESSION_LOCAL_STATE = PN_EVENT_CATEGORY_PROTOCOL+4, PN_LINK_REMOTE_STATE = PN_EVENT_CATEGORY_PROTOCOL+5, PN_LINK_LOCAL_STATE = PN_EVENT_CATEGORY_PROTOCOL+6, PN_LINK_FLOW = PN_EVENT_CATEGORY_PROTOCOL+7, PN_DELIVERY = PN_EVENT_CATEGORY_PROTOCOL+8, PN_TRANSPORT = PN_EVENT_CATEGORY_PROTOCOL+9 } |
An event type. More... | |
Functions | |
PN_EXTERN const char * | pn_event_type_name (pn_event_type_t type) |
Get a human readable name for an event type. More... | |
PN_EXTERN pn_collector_t * | pn_collector (void) |
Construct a collector. More... | |
PN_EXTERN void | pn_collector_free (pn_collector_t *collector) |
Free a collector. More... | |
PN_EXTERN pn_event_t * | pn_collector_peek (pn_collector_t *collector) |
Access the head event contained by a collector. More... | |
PN_EXTERN bool | pn_collector_pop (pn_collector_t *collector) |
Clear the head event on a collector. More... | |
PN_EXTERN pn_event_type_t | pn_event_type (pn_event_t *event) |
Get the type of an event. More... | |
PN_EXTERN pn_event_category_t | pn_event_category (pn_event_t *event) |
Get the category an event belongs to. More... | |
PN_EXTERN pn_connection_t * | pn_event_connection (pn_event_t *event) |
Get the connection associated with an event. More... | |
PN_EXTERN pn_session_t * | pn_event_session (pn_event_t *event) |
Get the session associated with an event. More... | |
PN_EXTERN pn_link_t * | pn_event_link (pn_event_t *event) |
Get the link associated with an event. More... | |
PN_EXTERN pn_delivery_t * | pn_event_delivery (pn_event_t *event) |
Get the delivery associated with an event. More... | |
PN_EXTERN pn_transport_t * | pn_event_transport (pn_event_t *event) |
Get the transport associated with an event. More... | |
typedef struct pn_collector_t pn_collector_t |
An event collector.
A pn_collector_t may be used to register interest in being notified of high level events that can occur to the various objects representing AMQP endpoint state. See pn_event_t for more details.
typedef struct pn_event_t pn_event_t |
An event provides notification of a state change within the protocol engine's object model.
The AMQP endpoint state modeled by the protocol engine is captured by the following object types: Deliveries , Links , Sessions , Connections , and Transports . These objects are related as follows:
Every event has a type (see pn_event_type_t) that identifies what sort of state change has occurred along with a pointer to the object whose state has changed (as well as its associated objects).
Events are accessed by creating a Collector with pn_collector() and registering it with the Connection of interest through use of pn_connection_collect(). Once a collector has been registered, pn_collector_peek() and pn_collector_pop() are used to access and process events.
enum pn_event_category_t |
enum pn_event_type_t |
An event type.
PN_EXTERN pn_collector_t* pn_collector | ( | void | ) |
Construct a collector.
A collector is used to register interest in events produced by one or more pn_connection_t objects. Collectors are not currently thread safe, so synchronization must be used if they are to be shared between multiple connection objects.
PN_EXTERN void pn_collector_free | ( | pn_collector_t * | collector | ) |
Free a collector.
[in] | collector | a collector to free, or NULL |
PN_EXTERN pn_event_t* pn_collector_peek | ( | pn_collector_t * | collector | ) |
Access the head event contained by a collector.
This operation will continue to return the same event until it is cleared by using pn_collector_pop. The pointer return by this operation will be valid until pn_collector_pop is invoked or pn_collector_free is called, whichever happens sooner.
[in] | collector | a collector object |
PN_EXTERN bool pn_collector_pop | ( | pn_collector_t * | collector | ) |
Clear the head event on a collector.
[in] | collector | a collector object |
PN_EXTERN pn_event_category_t pn_event_category | ( | pn_event_t * | event | ) |
Get the category an event belongs to.
[in] | event | an event object |
PN_EXTERN pn_connection_t* pn_event_connection | ( | pn_event_t * | event | ) |
Get the connection associated with an event.
[in] | event | an event object |
PN_EXTERN pn_delivery_t* pn_event_delivery | ( | pn_event_t * | event | ) |
Get the delivery associated with an event.
[in] | event | an event object |
PN_EXTERN pn_link_t* pn_event_link | ( | pn_event_t * | event | ) |
Get the link associated with an event.
[in] | event | an event object |
PN_EXTERN pn_session_t* pn_event_session | ( | pn_event_t * | event | ) |
Get the session associated with an event.
[in] | event | an event object |
PN_EXTERN pn_transport_t* pn_event_transport | ( | pn_event_t * | event | ) |
Get the transport associated with an event.
[in] | event | an event object |
PN_EXTERN pn_event_type_t pn_event_type | ( | pn_event_t * | event | ) |
Get the type of an event.
[in] | event | an event object |
PN_EXTERN const char* pn_event_type_name | ( | pn_event_type_t | type | ) |
Get a human readable name for an event type.
[in] | type | an event type |