Terminus
[Core]

A source or target for messages. More...

Typedefs

typedef struct pn_terminus_t pn_terminus_t
 Encapsulates the endpoint state associated with an AMQP Terminus.

Enumerations

enum  pn_terminus_type_t { PN_UNSPECIFIED, PN_SOURCE, PN_TARGET, PN_COORDINATOR }
 

Type of an AMQP terminus.

More...
enum  pn_durability_t { PN_NONDURABLE, PN_CONFIGURATION, PN_DELIVERIES }
 

Durability mode of an AMQP terminus.

More...
enum  pn_expiry_policy_t { PN_EXPIRE_WITH_LINK, PN_EXPIRE_WITH_SESSION, PN_EXPIRE_WITH_CONNECTION, PN_EXPIRE_NEVER }
 

Expiry policy of an AMQP terminus.

More...
enum  pn_distribution_mode_t { PN_DIST_MODE_UNSPECIFIED, PN_DIST_MODE_COPY, PN_DIST_MODE_MOVE }
 

Distribution mode of an AMQP terminus.

More...

Functions

pn_terminus_type_t pn_terminus_get_type (pn_terminus_t *terminus)
 Get the type of a terminus object.
int pn_terminus_set_type (pn_terminus_t *terminus, pn_terminus_type_t type)
 Set the type of a terminus object.
const char * pn_terminus_get_address (pn_terminus_t *terminus)
 Get the address of a terminus object.
int pn_terminus_set_address (pn_terminus_t *terminus, const char *address)
 Set the address of a terminus object.
pn_distribution_mode_t pn_terminus_get_distribution_mode (const pn_terminus_t *terminus)
 Get the distribution mode of a terminus object.
int pn_terminus_set_distribution_mode (pn_terminus_t *terminus, pn_distribution_mode_t mode)
 Set the distribution mode of a terminus object.
pn_durability_t pn_terminus_get_durability (pn_terminus_t *terminus)
 Get the durability mode of a terminus object.
int pn_terminus_set_durability (pn_terminus_t *terminus, pn_durability_t durability)
 Set the durability mode of a terminus object.
pn_expiry_policy_t pn_terminus_get_expiry_policy (pn_terminus_t *terminus)
 Get the expiry policy of a terminus object.
bool pn_terminus_has_expiry_policy (const pn_terminus_t *terminus)
 Return true if the terminus has an explicit expiry policy set, false if it does not.
int pn_terminus_set_expiry_policy (pn_terminus_t *terminus, pn_expiry_policy_t policy)
 Set the expiry policy of a terminus object.
pn_seconds_t pn_terminus_get_timeout (pn_terminus_t *terminus)
 Get the timeout of a terminus object.
int pn_terminus_set_timeout (pn_terminus_t *terminus, pn_seconds_t timeout)
 Set the timeout of a terminus object.
bool pn_terminus_is_dynamic (pn_terminus_t *terminus)
 Get the dynamic flag for a terminus object.
int pn_terminus_set_dynamic (pn_terminus_t *terminus, bool dynamic)
 Set the dynamic flag for a terminus object.
pn_data_tpn_terminus_properties (pn_terminus_t *terminus)
 Access/modify the AMQP properties data for a terminus object.
pn_data_tpn_terminus_capabilities (pn_terminus_t *terminus)
 Access/modify the AMQP capabilities data for a terminus object.
pn_data_tpn_terminus_outcomes (pn_terminus_t *terminus)
 Access/modify the AMQP outcomes for a terminus object.
pn_data_tpn_terminus_filter (pn_terminus_t *terminus)
 Access/modify the AMQP filter set for a terminus object.
int pn_terminus_copy (pn_terminus_t *terminus, pn_terminus_t *src)
 Copy a terminus object.

Detailed Description

A source or target for messages.


Typedef Documentation

typedef struct pn_terminus_t pn_terminus_t

Encapsulates the endpoint state associated with an AMQP Terminus.

An AMQP Terminus acts as either a source or target for messages, but never both. Every AMQP link is associated with both a source terminus and a target terminus that is negotiated during link establishment. A terminus consists of an AMQP address, along with a number of other properties defining the quality of service and behaviour of the link.


Enumeration Type Documentation

Type of an AMQP terminus.

Enumerator:
PN_UNSPECIFIED 

indicates a nonexistent terminus, may used as a source or target

PN_SOURCE 

indicates a source of messages

PN_TARGET 

indicates a target for messages

PN_COORDINATOR 

a special target identifying a transaction coordinator

Durability mode of an AMQP terminus.

An AMQP terminus may provide durable storage for its state, thereby permitting link recovery in the event of endpoint failures. This durability may be applied to the configuration of the terminus only, or to all delivery state as well.

Enumerator:
PN_NONDURABLE 

indicates a non durable terminus

PN_CONFIGURATION 

indicates a terminus with durably held configuration, but not delivery state

PN_DELIVERIES 

indicates a terminus with both durably held configuration and durably held delivery state.

Expiry policy of an AMQP terminus.

An orphaned terminus can only exist for the timeout configured by pn_terminus_set_timeout. The expiry policy determines when a terminus is considered orphaned, i.e. when the expiry timer starts counting down.

Enumerator:
PN_EXPIRE_WITH_LINK 

the terminus is orphaned when the parent link is closed

PN_EXPIRE_WITH_SESSION 

the terminus is orphaned when the parent session is closed

PN_EXPIRE_WITH_CONNECTION 

the terminus is orphaned when the parent connection is closed

PN_EXPIRE_NEVER 

the terminus is never considered orphaned

Distribution mode of an AMQP terminus.

The distribution mode of a source terminus defines the behaviour when multiple receiving links provide addresses that resolve to the same node.

Enumerator:
PN_DIST_MODE_UNSPECIFIED 

the behaviour is defined by the node

PN_DIST_MODE_COPY 

the receiver gets all messages

PN_DIST_MODE_MOVE 

the receiver competes for messages


Function Documentation

pn_terminus_type_t pn_terminus_get_type ( pn_terminus_t terminus  ) 

Get the type of a terminus object.

Parameters:
[in] terminus a terminus object
Returns:
the terminus type
int pn_terminus_set_type ( pn_terminus_t terminus,
pn_terminus_type_t  type 
)

Set the type of a terminus object.

Parameters:
[in] terminus a terminus object
[in] type the terminus type
Returns:
0 on success or an error code on failure
const char* pn_terminus_get_address ( pn_terminus_t terminus  ) 

Get the address of a terminus object.

The pointer returned by this operation is valid until pn_terminus_set_address is called or until the terminus is freed due to its parent link being freed.

Parameters:
[in] terminus a terminus object
Returns:
a pointer to the address
Examples:
broker.c.
int pn_terminus_set_address ( pn_terminus_t terminus,
const char *  address 
)

Set the address of a terminus object.

Parameters:
[in] terminus a terminus object
[in] address an AMQP address string
Returns:
0 on success or an error code on failure
Examples:
broker.c, direct.c, receive.c, and send.c.
pn_distribution_mode_t pn_terminus_get_distribution_mode ( const pn_terminus_t terminus  ) 

Get the distribution mode of a terminus object.

Parameters:
[in] terminus a terminus object
Returns:
the distribution mode of the terminus
int pn_terminus_set_distribution_mode ( pn_terminus_t terminus,
pn_distribution_mode_t  mode 
)

Set the distribution mode of a terminus object.

Parameters:
[in] terminus a terminus object
[in] mode the distribution mode for the terminus
Returns:
0 on success or an error code on failure
pn_durability_t pn_terminus_get_durability ( pn_terminus_t terminus  ) 

Get the durability mode of a terminus object.

Parameters:
[in] terminus a terminus object
Returns:
the terminus durability mode
int pn_terminus_set_durability ( pn_terminus_t terminus,
pn_durability_t  durability 
)

Set the durability mode of a terminus object.

Parameters:
[in] terminus a terminus object
[in] durability the terminus durability mode
Returns:
0 on success or an error code on failure
pn_expiry_policy_t pn_terminus_get_expiry_policy ( pn_terminus_t terminus  ) 

Get the expiry policy of a terminus object.

Parameters:
[in] terminus a terminus object
Returns:
the expiry policy of the terminus
bool pn_terminus_has_expiry_policy ( const pn_terminus_t terminus  ) 

Return true if the terminus has an explicit expiry policy set, false if it does not.

Parameters:
[in] terminus a terminus object
Returns:
whether the terminus has an explicit expiry-policy
int pn_terminus_set_expiry_policy ( pn_terminus_t terminus,
pn_expiry_policy_t  policy 
)

Set the expiry policy of a terminus object.

Parameters:
[in] terminus a terminus object
[in] policy the expiry policy for the terminus
Returns:
0 on success or an error code on failure
pn_seconds_t pn_terminus_get_timeout ( pn_terminus_t terminus  ) 

Get the timeout of a terminus object.

Parameters:
[in] terminus a terminus object
Returns:
the timeout of the terminus
int pn_terminus_set_timeout ( pn_terminus_t terminus,
pn_seconds_t  timeout 
)

Set the timeout of a terminus object.

Parameters:
[in] terminus a terminus object
[in] timeout the timeout for the terminus
Returns:
0 on success or an error code on failure
bool pn_terminus_is_dynamic ( pn_terminus_t terminus  ) 

Get the dynamic flag for a terminus object.

Parameters:
[in] terminus a terminus object
Returns:
true if the dynamic flag is set for the terminus, false otherwise
int pn_terminus_set_dynamic ( pn_terminus_t terminus,
bool  dynamic 
)

Set the dynamic flag for a terminus object.

Parameters:
[in] terminus a terminus object
[in] dynamic the dynamic flag for the terminus
Returns:
0 on success or an error code on failure
pn_data_t* pn_terminus_properties ( pn_terminus_t terminus  ) 

Access/modify the AMQP properties data for a terminus object.

This operation will return a pointer to a pn_data_t object that is valid until the terminus object is freed due to its parent link being freed. Any data contained by the pn_data_t object will be sent as the AMQP properties for the parent terminus object. Note that this MUST take the form of a symbol keyed map to be valid.

Parameters:
[in] terminus a terminus object
Returns:
a pointer to a pn_data_t representing the terminus properties
pn_data_t* pn_terminus_capabilities ( pn_terminus_t terminus  ) 

Access/modify the AMQP capabilities data for a terminus object.

This operation will return a pointer to a pn_data_t object that is valid until the terminus object is freed due to its parent link being freed. Any data contained by the pn_data_t object will be sent as the AMQP capabilities for the parent terminus object. Note that this MUST take the form of an array of symbols to be valid.

Parameters:
[in] terminus a terminus object
Returns:
a pointer to a pn_data_t representing the terminus capabilities
pn_data_t* pn_terminus_outcomes ( pn_terminus_t terminus  ) 

Access/modify the AMQP outcomes for a terminus object.

This operation will return a pointer to a pn_data_t object that is valid until the terminus object is freed due to its parent link being freed. Any data contained by the pn_data_t object will be sent as the AMQP outcomes for the parent terminus object. Note that this MUST take the form of an array of symbols to be valid.

Parameters:
[in] terminus a terminus object
Returns:
a pointer to a pn_data_t representing the terminus outcomes
pn_data_t* pn_terminus_filter ( pn_terminus_t terminus  ) 

Access/modify the AMQP filter set for a terminus object.

This operation will return a pointer to a pn_data_t object that is valid until the terminus object is freed due to its parent link being freed. Any data contained by the pn_data_t object will be sent as the AMQP filter set for the parent terminus object. Note that this MUST take the form of a symbol keyed map to be valid.

Parameters:
[in] terminus a source terminus object
Returns:
a pointer to a pn_data_t representing the terminus filter set
int pn_terminus_copy ( pn_terminus_t terminus,
pn_terminus_t src 
)

Copy a terminus object.

Parameters:
[in] terminus the terminus object to be copied into
[in] src the terminus to be copied from
Returns:
0 on success or an error code on failure

Generated on 3 Aug 2018 for Qpid Proton C by  doxygen 1.6.1