An endpoint error state. More...
Typedefs | |
typedef struct pn_condition_t | pn_condition_t |
An AMQP Condition object. More... | |
Functions | |
bool | pn_condition_is_set (pn_condition_t *condition) |
Returns true if the condition object is holding some information, i.e. More... | |
void | pn_condition_clear (pn_condition_t *condition) |
Clears the condition object of any exceptional information. More... | |
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... | |
int | pn_condition_set_name (pn_condition_t *condition, const char *name) |
Sets the name associated with the exceptional condition. More... | |
const char * | pn_condition_get_description (pn_condition_t *condition) |
Gets the description associated with the exceptional condition. More... | |
int | pn_condition_set_description (pn_condition_t *condition, const char *description) |
Sets the description associated with the exceptional condition. More... | |
pn_data_t * | pn_condition_info (pn_condition_t *condition) |
Returns a data object that holds the additional information associated with the condition. More... | |
int | pn_condition_vformat (pn_condition_t *, const char *name, const char *fmt, va_list ap) |
Set the name and printf-style formatted description. | |
int | pn_condition_format (pn_condition_t *, const char *name, const char *fmt,...) |
Set the name and printf-style formatted description. | |
bool | pn_condition_is_redirect (pn_condition_t *condition) |
Returns true if the condition is a redirect. More... | |
const char * | pn_condition_redirect_host (pn_condition_t *condition) |
Retrieves the redirect host from the additional information associated with the condition. More... | |
int | pn_condition_redirect_port (pn_condition_t *condition) |
Retrieves the redirect port from the additional information associated with the condition. More... | |
int | pn_condition_copy (pn_condition_t *dest, pn_condition_t *src) |
Copy the src condition to the dst condition. | |
pn_condition_t * | pn_condition (void) |
Create a condition object. | |
void | pn_condition_free (pn_condition_t *) |
Free a condition object. | |
An endpoint error state.
typedef struct pn_condition_t pn_condition_t |
An AMQP Condition object.
Conditions hold exception 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.
bool pn_condition_is_set | ( | pn_condition_t * | condition | ) |
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 |
const char * pn_condition_get_name | ( | pn_condition_t * | condition | ) |
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 |
const char * pn_condition_get_description | ( | pn_condition_t * | condition | ) |
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_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 |
bool pn_condition_is_redirect | ( | pn_condition_t * | condition | ) |
Returns true if the condition is a redirect.
[in] | condition | the condition object |
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 |
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 |