C AMQP Protocol Engine API  0.7
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Condition
Collaboration diagram for Condition:

Typedefs

typedef struct pn_condition_t pn_condition_t
 

Functions

PN_EXTERN bool pn_condition_is_set (pn_condition_t *condition)
 
PN_EXTERN void pn_condition_clear (pn_condition_t *condition)
 
PN_EXTERN const char * pn_condition_get_name (pn_condition_t *condition)
 
PN_EXTERN int pn_condition_set_name (pn_condition_t *condition, const char *name)
 
PN_EXTERN const char * pn_condition_get_description (pn_condition_t *condition)
 
PN_EXTERN int pn_condition_set_description (pn_condition_t *condition, const char *description)
 
PN_EXTERN pn_data_tpn_condition_info (pn_condition_t *condition)
 
PN_EXTERN bool pn_condition_is_redirect (pn_condition_t *condition)
 
PN_EXTERN const char * pn_condition_redirect_host (pn_condition_t *condition)
 
PN_EXTERN int pn_condition_redirect_port (pn_condition_t *condition)
 

Detailed Description

Typedef Documentation

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.

Function Documentation

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()).

Parameters
[in]conditionthe condition object to clear
PN_EXTERN const char* pn_condition_get_description ( pn_condition_t condition)

Gets the description associated with the exceptional condition.

Parameters
[in]conditionthe condition object
Returns
a pointer to the description, or NULL
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.

Parameters
[in]conditionthe condition object
Returns
a pointer to the name, or NULL
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.

Parameters
[in]conditionthe condition object
Returns
a data object holding the additional information for the condition
PN_EXTERN bool pn_condition_is_redirect ( pn_condition_t condition)

Returns true if the condition is a redirect.

Parameters
[in]conditionthe condition object
Returns
true if the condition is a redirect, false otherwise
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.

Parameters
[in]conditionthe condition object to test
Returns
true iff some condition information is set
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.

Parameters
[in]conditionthe condition object
Returns
the redirect host or NULL
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.

Parameters
[in]conditionthe condition object
Returns
the redirect port or an error code
PN_EXTERN int pn_condition_set_description ( pn_condition_t condition,
const char *  description 
)

Sets the description associated with the exceptional condition.

Parameters
[in]conditionthe condition object
[in]descriptionthe desired description
Returns
an error code or 0 on success
PN_EXTERN int pn_condition_set_name ( pn_condition_t condition,
const char *  name 
)

Sets the name associated with the exceptional condition.

Parameters
[in]conditionthe condition object
[in]namethe desired name
Returns
an error code or 0 on success