proton
0
|
Typedefs | |
typedef struct pn_condition_t | pn_condition_t |
An AMQP Condition object. More... | |
Functions | |
PN_EXTERN bool | pn_condition_is_set (pn_condition_t *condition) |
Returns true if the condition object is holding some information, i.e. More... | |
PN_EXTERN void | pn_condition_clear (pn_condition_t *condition) |
Clears the condition object of any exceptional information. More... | |
PN_EXTERN const char * | pn_condition_get_name (pn_condition_t *condition) |
Returns the name associated with the exceptional condition, or NULL if there is no conditional information set. More... | |
PN_EXTERN int | pn_condition_set_name (pn_condition_t *condition, const char *name) |
Sets the name associated with the exceptional condition. More... | |
PN_EXTERN const char * | pn_condition_get_description (pn_condition_t *condition) |
Gets the description associated with the exceptional condition. More... | |
PN_EXTERN int | pn_condition_set_description (pn_condition_t *condition, const char *description) |
Sets the description associated with the exceptional condition. More... | |
PN_EXTERN pn_data_t * | pn_condition_info (pn_condition_t *condition) |
Returns a data object that holds the additional information associated with the condition. More... | |
PN_EXTERN bool | pn_condition_is_redirect (pn_condition_t *condition) |
Returns true if the condition is a redirect. More... | |
PN_EXTERN const char * | pn_condition_redirect_host (pn_condition_t *condition) |
Retrieves the redirect host from the additional information associated with the condition. More... | |
PN_EXTERN int | pn_condition_redirect_port (pn_condition_t *condition) |
Retrieves the redirect port from the additional information associated with the condition. More... | |
typedef struct pn_condition_t pn_condition_t |
An AMQP Condition object.
Conditions hold exceptional information pertaining to the closing of an AMQP endpoint such as a Connection, Session, or Link. Conditions also hold similar information pertaining to deliveries that have reached terminal states. Connections, Sessions, Links, and Deliveries may all have local and remote conditions associated with them.
The local condition may be modified by the local endpoint to signal a particular condition to the remote peer. The remote condition may be examined by the local endpoint to detect whatever condition the remote peer may be signaling. Although often conditions are used to indicate errors, not all conditions are errors per/se, e.g. conditions may be used to redirect a connection from one host to another.
Every condition has a short symbolic name, a longer description, and an additional info map associated with it. The name identifies the formally defined condition, and the map contains additional information relevant to the identified condition.
PN_EXTERN void pn_condition_clear | ( | pn_condition_t * | condition | ) |
Clears the condition object of any exceptional information.
After calling pn_condition_clear(), pn_condition_is_set() is guaranteed to return false and pn_condition_get_name() as well as pn_condition_get_description() will return NULL. The pn_data_t returned by pn_condition_info() will still be valid, but will have been cleared as well (See pn_data_clear()).
[in] | condition | the condition object to clear |
PN_EXTERN const char* pn_condition_get_description | ( | pn_condition_t * | condition | ) |
Gets the description associated with the exceptional condition.
[in] | condition | the condition object |
PN_EXTERN const char* pn_condition_get_name | ( | pn_condition_t * | condition | ) |
Returns the name associated with the exceptional condition, or NULL if there is no conditional information set.
[in] | condition | the condition object |
PN_EXTERN pn_data_t* pn_condition_info | ( | pn_condition_t * | condition | ) |
Returns a data object that holds the additional information associated with the condition.
The data object may be used both to access and to modify the additional information associated with the condition.
[in] | condition | the condition object |
PN_EXTERN bool pn_condition_is_redirect | ( | pn_condition_t * | condition | ) |
Returns true if the condition is a redirect.
[in] | condition | the condition object |
PN_EXTERN bool pn_condition_is_set | ( | pn_condition_t * | condition | ) |
Returns true if the condition object is holding some information, i.e.
if the name is set to some non NULL value. Returns false otherwise.
[in] | condition | the condition object to test |
PN_EXTERN const char* pn_condition_redirect_host | ( | pn_condition_t * | condition | ) |
Retrieves the redirect host from the additional information associated with the condition.
If the condition is not a redirect, this will return NULL.
[in] | condition | the condition object |
PN_EXTERN int pn_condition_redirect_port | ( | pn_condition_t * | condition | ) |
Retrieves the redirect port from the additional information associated with the condition.
If the condition is not a redirect, this will return an error code.
[in] | condition | the condition object |
PN_EXTERN int pn_condition_set_description | ( | pn_condition_t * | condition, |
const char * | description | ||
) |
Sets the description associated with the exceptional condition.
[in] | condition | the condition object |
[in] | description | the desired description |
PN_EXTERN int pn_condition_set_name | ( | pn_condition_t * | condition, |
const char * | name | ||
) |
Sets the name associated with the exceptional condition.
[in] | condition | the condition object |
[in] | name | the desired name |