Loading...
Searching...
No Matches
Terminus
Core

A source or target for messages. More...

Collaboration diagram for Terminus:

## 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_t * | pn_terminus_properties (pn_terminus_t *terminus)
| Access/modify the AMQP properties data for a terminus object.
pn_data_t * | pn_terminus_capabilities (pn_terminus_t *terminus)
| Access/modify the AMQP capabilities data for a terminus object.
pn_data_t * | pn_terminus_outcomes (pn_terminus_t *terminus)
| Access/modify the AMQP outcomes for a terminus object.
pn_data_t * | pn_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

## pn_terminus_t

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

## pn_terminus_type_t

enum pn_terminus_type_t

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

## pn_durability_t

enum pn_durability_t

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.

## pn_expiry_policy_t

enum pn_expiry_policy_t

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

## pn_distribution_mode_t

enum pn_distribution_mode_t

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

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

## pn_terminus_set_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

## pn_terminus_get_address()

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.

## pn_terminus_set_address()

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

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

## pn_terminus_set_distribution_mode()

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

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

## pn_terminus_set_durability()

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

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

## pn_terminus_has_expiry_policy()

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

## pn_terminus_set_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_terminus_get_timeout()

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

## pn_terminus_set_timeout()

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

## pn_terminus_is_dynamic()

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

## pn_terminus_set_dynamic()

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

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

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

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

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

## pn_terminus_copy()

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