C AMQP Protocol Engine API  0.7
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Message

Macros

#define PN_DEFAULT_PRIORITY   (4)
 

Typedefs

typedef struct pn_message_t pn_message_t
 

Enumerations

enum  pn_format_t { PN_DATA, PN_TEXT, PN_AMQP, PN_JSON }
 

Functions

PN_EXTERN pn_message_tpn_message (void)
 
PN_EXTERN void pn_message_free (pn_message_t *msg)
 
PN_EXTERN void pn_message_clear (pn_message_t *msg)
 
PN_EXTERN int pn_message_errno (pn_message_t *msg)
 
PN_EXTERN pn_error_tpn_message_error (pn_message_t *msg)
 
PN_EXTERN bool pn_message_is_inferred (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_inferred (pn_message_t *msg, bool inferred)
 
PN_EXTERN bool pn_message_is_durable (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_durable (pn_message_t *msg, bool durable)
 
PN_EXTERN uint8_t pn_message_get_priority (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_priority (pn_message_t *msg, uint8_t priority)
 
PN_EXTERN pn_millis_t pn_message_get_ttl (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_ttl (pn_message_t *msg, pn_millis_t ttl)
 
PN_EXTERN bool pn_message_is_first_acquirer (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_first_acquirer (pn_message_t *msg, bool first)
 
PN_EXTERN uint32_t pn_message_get_delivery_count (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_delivery_count (pn_message_t *msg, uint32_t count)
 
PN_EXTERN pn_data_tpn_message_id (pn_message_t *msg)
 
PN_EXTERN pn_atom_t pn_message_get_id (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_id (pn_message_t *msg, pn_atom_t id)
 
PN_EXTERN pn_bytes_t pn_message_get_user_id (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_user_id (pn_message_t *msg, pn_bytes_t user_id)
 
PN_EXTERN const char * pn_message_get_address (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_address (pn_message_t *msg, const char *address)
 
PN_EXTERN const char * pn_message_get_subject (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_subject (pn_message_t *msg, const char *subject)
 
PN_EXTERN const char * pn_message_get_reply_to (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_reply_to (pn_message_t *msg, const char *reply_to)
 
PN_EXTERN pn_data_tpn_message_correlation_id (pn_message_t *msg)
 
PN_EXTERN pn_atom_t pn_message_get_correlation_id (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_correlation_id (pn_message_t *msg, pn_atom_t id)
 
PN_EXTERN const char * pn_message_get_content_type (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_content_type (pn_message_t *msg, const char *type)
 
PN_EXTERN const char * pn_message_get_content_encoding (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_content_encoding (pn_message_t *msg, const char *encoding)
 
PN_EXTERN pn_timestamp_t pn_message_get_expiry_time (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_expiry_time (pn_message_t *msg, pn_timestamp_t time)
 
PN_EXTERN pn_timestamp_t pn_message_get_creation_time (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_creation_time (pn_message_t *msg, pn_timestamp_t time)
 
PN_EXTERN const char * pn_message_get_group_id (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_group_id (pn_message_t *msg, const char *group_id)
 
PN_EXTERN pn_sequence_t pn_message_get_group_sequence (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_group_sequence (pn_message_t *msg, pn_sequence_t n)
 
PN_EXTERN const char * pn_message_get_reply_to_group_id (pn_message_t *msg)
 
PN_EXTERN int pn_message_set_reply_to_group_id (pn_message_t *msg, const char *reply_to_group_id)
 
PN_EXTERN pn_format_t pn_message_get_format (pn_message_t *message)
 
PN_EXTERN int pn_message_set_format (pn_message_t *message, pn_format_t format)
 
PN_EXTERN int pn_message_load (pn_message_t *message, const char *data, size_t size)
 
PN_EXTERN int pn_message_load_data (pn_message_t *message, const char *data, size_t size)
 
PN_EXTERN int pn_message_load_text (pn_message_t *message, const char *data, size_t size)
 
PN_EXTERN int pn_message_load_amqp (pn_message_t *message, const char *data, size_t size)
 
PN_EXTERN int pn_message_load_json (pn_message_t *message, const char *data, size_t size)
 
PN_EXTERN int pn_message_save (pn_message_t *message, char *data, size_t *size)
 
PN_EXTERN int pn_message_save_data (pn_message_t *message, char *data, size_t *size)
 
PN_EXTERN int pn_message_save_text (pn_message_t *message, char *data, size_t *size)
 
PN_EXTERN int pn_message_save_amqp (pn_message_t *message, char *data, size_t *size)
 
PN_EXTERN int pn_message_save_json (pn_message_t *message, char *data, size_t *size)
 
PN_EXTERN pn_data_tpn_message_instructions (pn_message_t *msg)
 
PN_EXTERN pn_data_tpn_message_annotations (pn_message_t *msg)
 
PN_EXTERN pn_data_tpn_message_properties (pn_message_t *msg)
 
PN_EXTERN pn_data_tpn_message_body (pn_message_t *msg)
 
PN_EXTERN int pn_message_decode (pn_message_t *msg, const char *bytes, size_t size)
 
PN_EXTERN int pn_message_encode (pn_message_t *msg, char *bytes, size_t *size)
 
PN_EXTERN ssize_t pn_message_data (char *dst, size_t available, const char *src, size_t size)
 

Detailed Description

Macro Definition Documentation

#define PN_DEFAULT_PRIORITY   (4)

Default priority for messages.

Typedef Documentation

typedef struct pn_message_t pn_message_t

An AMQP Message object.

An AMQP Message object is a mutable holder of message content that may be used to generate and encode or decode and access AMQP formatted message data.

Enumeration Type Documentation

Encoding format for message content.

Enumerator
PN_DATA 

Raw binary data. Not all messages can be encoded this way.

PN_TEXT 

Raw text. Not all messages can be encoded this way.

PN_AMQP 

AMQP formatted data. All messages can be encoded this way.

PN_JSON 

JSON formatted data. Not all messages can be encoded with full fidelity way.

Function Documentation

PN_EXTERN pn_message_t* pn_message ( void  )

Construct a new pn_message_t.

Every message that is constructed must be freed using pn_message_free().

Returns
pointer to a new pn_message_t
PN_EXTERN pn_data_t* pn_message_annotations ( pn_message_t msg)

Get/set the annotations for a message.

This operation returns a pointer to a pn_data_t representing the content of the annotations section of a message. The pointer is valid until the message is freed and may be used to both access and modify the content of the annotations section of a message.

The pn_data_t must either be empty or consist of a symbol keyed map in order to be considered valid message annotations.

Parameters
[in]msga message object
Returns
a pointer to the message annotations
PN_EXTERN pn_data_t* pn_message_body ( pn_message_t msg)

Get/set the body of a message.

This operation returns a pointer to a pn_data_t representing the body of a message. The pointer is valid until the message is freed and may be used to both access and modify the content of the message body.

Parameters
[in]msga message object
Returns
a pointer to the message body
PN_EXTERN void pn_message_clear ( pn_message_t msg)

Clears the content of a pn_message_t.

When pn_message_clear returns, the supplied pn_message_t will be emptied of all content and effectively returned to the same state as if it was just created.

Parameters
[in]msgpointer to the pn_message_t to be cleared
PN_EXTERN pn_data_t* pn_message_correlation_id ( pn_message_t msg)

Get/set the correlation id for a message.

A correlation id can be an a string, an unsigned long, a uuid or a binary value. This operation returns a pointer to a pn_data_t that can be used to access and/or modify the value of the correlation id. The pointer is valid until the message is freed. See pn_data_t for details on how to get/set the value.

Parameters
[in]msga message object
Returns
pointer to a pn_data_t holding the correlation id
PN_EXTERN ssize_t pn_message_data ( char *  dst,
size_t  available,
const char *  src,
size_t  size 
)
PN_EXTERN int pn_message_decode ( pn_message_t msg,
const char *  bytes,
size_t  size 
)

Decode/load message content from AMQP formatted binary data.

Upon invoking this operation, any existing message content will be cleared and replaced with the content from the provided binary data.

Parameters
[in]msga message object
[in]bytesthe start of the encoded AMQP data
[in]sizethe size of the encoded AMQP data
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_encode ( pn_message_t msg,
char *  bytes,
size_t *  size 
)

Encode/save message content as AMQP formatted binary data.

If the buffer space provided is insufficient to store the content held in the message, the operation will fail and return a PN_OVERFLOW error code.

Parameters
[in]msga message object
[in]bytesthe start of empty buffer space
[in]sizethe amount of empty buffer space
[out]sizethe amount of data written
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_errno ( pn_message_t msg)

Access the error code of a message.

Every operation on a message that can result in an error will set the message's error code in case of error. The pn_message_errno() call will access the error code of the most recent failed operation.

Parameters
[in]msga message
Returns
the message's error code
PN_EXTERN pn_error_t* pn_message_error ( pn_message_t msg)

Access the error information for a message.

Every operation on a message that can result in an error will update the error information held by its error descriptor should that operation fail. The pn_message_error() call will access the error information of the most recent failed operation. The pointer returned by this call is valid until the message is freed.

Parameters
[in]msga message
Returns
the message's error descriptor
PN_EXTERN void pn_message_free ( pn_message_t msg)

Free a previously constructed pn_message_t.

Parameters
[in]msgpointer to a pn_message_t or NULL
PN_EXTERN const char* pn_message_get_address ( pn_message_t msg)

Get the address for a message.

This operation will return NULL if no address has been set or if the address has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:

Parameters
[in]msga message object
Returns
a pointer to the address of the message (or NULL)
PN_EXTERN const char* pn_message_get_content_encoding ( pn_message_t msg)

Get the content_encoding for a message.

This operation will return NULL if no content_encoding has been set or if the content_encoding has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:

Parameters
[in]msga message object
Returns
a pointer to the content_encoding of the message (or NULL)
PN_EXTERN const char* pn_message_get_content_type ( pn_message_t msg)

Get the content_type for a message.

This operation will return NULL if no content_type has been set or if the content_type has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:

Parameters
[in]msga message object
Returns
a pointer to the content_type of the message (or NULL)
PN_EXTERN pn_atom_t pn_message_get_correlation_id ( pn_message_t msg)

Get the correlation id for a message.

A correlation id can be an a string, an unsigned long, a uuid or a binary value. This operation returns the value of the id using the pn_atom_t descriminated union. See pn_atom_t for details on how to access the value.

Parameters
[in]msga message object
Returns
the message id
PN_EXTERN pn_timestamp_t pn_message_get_creation_time ( pn_message_t msg)

Get the creation time for a message.

A zero value for the creation time indicates that the creation time has not been set. This is the default value.

Parameters
[in]msga message object
Returns
the creation time for the message
PN_EXTERN uint32_t pn_message_get_delivery_count ( pn_message_t msg)

Get the delivery count for a message.

The delivery count field tracks how many attempts have been made to delivery a message. Use pn_message_set_delivery_count() to set the delivery count for a message.

Parameters
[in]msga message object
Returns
the delivery count for the message
PN_EXTERN pn_timestamp_t pn_message_get_expiry_time ( pn_message_t msg)

Get the expiry time for a message.

A zero value for the expiry time indicates that the message will never expire. This is the default value.

Parameters
[in]msga message object
Returns
the expiry time for the message
PN_EXTERN pn_format_t pn_message_get_format ( pn_message_t message)
PN_EXTERN const char* pn_message_get_group_id ( pn_message_t msg)

Get the group_id for a message.

This operation will return NULL if no group_id has been set or if the group_id has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:

Parameters
[in]msga message object
Returns
a pointer to the group_id of the message (or NULL)
PN_EXTERN pn_sequence_t pn_message_get_group_sequence ( pn_message_t msg)

Get the group sequence for a message.

The group sequence of a message identifies the relative ordering of messages within a group. The default value for the group sequence of a message is zero.

Parameters
[in]msga message object
Returns
the group sequence for the message
PN_EXTERN pn_atom_t pn_message_get_id ( pn_message_t msg)

Get the id for a message.

The message id provides a globally unique identifier for a message. A message id can be an a string, an unsigned long, a uuid or a binary value. This operation returns the value of the id using the pn_atom_t descriminated union. See pn_atom_t for details on how to access the value.

Parameters
[in]msga message object
Returns
the message id
PN_EXTERN uint8_t pn_message_get_priority ( pn_message_t msg)

Get the priority for a message.

The priority of a message impacts ordering guarantees. Within a given ordered context, higher priority messages may jump ahead of lower priority messages.

Parameters
[in]msga message object
Returns
the message priority
PN_EXTERN const char* pn_message_get_reply_to ( pn_message_t msg)

Get the reply_to for a message.

This operation will return NULL if no reply_to has been set or if the reply_to has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:

Parameters
[in]msga message object
Returns
a pointer to the reply_to of the message (or NULL)
PN_EXTERN const char* pn_message_get_reply_to_group_id ( pn_message_t msg)

Get the reply_to_group_id for a message.

This operation will return NULL if no reply_to_group_id has been set or if the reply_to_group_id has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:

Parameters
[in]msga message object
Returns
a pointer to the reply_to_group_id of the message (or NULL)
PN_EXTERN const char* pn_message_get_subject ( pn_message_t msg)

Get the subject for a message.

This operation will return NULL if no subject has been set or if the subject has been set to NULL. The pointer returned by this operation is valid until any one of the following operations occur:

Parameters
[in]msga message object
Returns
a pointer to the subject of the message (or NULL)
PN_EXTERN pn_millis_t pn_message_get_ttl ( pn_message_t msg)

Get the ttl for a message.

The ttl for a message determines how long a message is considered live. When a message is held for retransmit, the ttl is decremented. Once the ttl reaches zero, the message is considered dead. Once a message is considered dead it may be dropped. Use pn_message_set_ttl() to set the ttl for a message.

Parameters
[in]msga message object
Returns
the ttl in milliseconds
PN_EXTERN pn_bytes_t pn_message_get_user_id ( pn_message_t msg)

Get the user id for a message.

The pointer referenced by the pn_bytes_t struct will be valid until any one of the following operations occur:

Parameters
[in]msga message object
Returns
a pn_bytes_t referencing the message's user_id
PN_EXTERN pn_data_t* pn_message_id ( pn_message_t msg)

Get/set the id for a message.

The message id provides a globally unique identifier for a message. A message id can be an a string, an unsigned long, a uuid or a binary value. This operation returns a pointer to a pn_data_t that can be used to access and/or modify the value of the message id. The pointer is valid until the message is freed. See pn_data_t for details on how to get/set the value.

Parameters
[in]msga message object
Returns
pointer to a pn_data_t holding the id
PN_EXTERN pn_data_t* pn_message_instructions ( pn_message_t msg)

Get/set the delivery instructions for a message.

This operation returns a pointer to a pn_data_t representing the content of the delivery instructions section of a message. The pointer is valid until the message is freed and may be used to both access and modify the content of the delivery instructions section of a message.

The pn_data_t must either be empty or consist of a symbol keyed map in order to be considered valid delivery instructions.

Parameters
[in]msga message object
Returns
a pointer to the delivery instructions
PN_EXTERN bool pn_message_is_durable ( pn_message_t msg)

Get the durable flag for a message.

The durable flag indicates that any parties taking responsibility for the message must durably store the content.

Parameters
[in]msga message object
Returns
the value of the durable flag
PN_EXTERN bool pn_message_is_first_acquirer ( pn_message_t msg)

Get the first acquirer flag for a message.

When set to true, the first acquirer flag for a message indicates that the recipient of the message is the first recipient to acquire the message, i.e. there have been no failed delivery attempts to other acquirers. Note that this does not mean the message has not been delivered to, but not acquired, by other recipients.

Parameters
[in]msga message object
Returns
the first acquirer flag for the message
PN_EXTERN bool pn_message_is_inferred ( pn_message_t msg)

Get the inferred flag for a message.

The inferred flag for a message indicates how the message content is encoded into AMQP sections. If inferred is true then binary and list values in the body of the message will be encoded as AMQP DATA and AMQP SEQUENCE sections, respectively. If inferred is false, then all values in the body of the message will be encoded as AMQP VALUE sections regardless of their type. Use pn_message_set_inferred to set the value.

Parameters
[in]msga message object
Returns
the value of the inferred flag for the message
PN_EXTERN int pn_message_load ( pn_message_t message,
const char *  data,
size_t  size 
)
PN_EXTERN int pn_message_load_amqp ( pn_message_t message,
const char *  data,
size_t  size 
)
PN_EXTERN int pn_message_load_data ( pn_message_t message,
const char *  data,
size_t  size 
)
PN_EXTERN int pn_message_load_json ( pn_message_t message,
const char *  data,
size_t  size 
)
PN_EXTERN int pn_message_load_text ( pn_message_t message,
const char *  data,
size_t  size 
)
PN_EXTERN pn_data_t* pn_message_properties ( pn_message_t msg)

Get/set the properties for a message.

This operation returns a pointer to a pn_data_t representing the content of the properties section of a message. The pointer is valid until the message is freed and may be used to both access and modify the content of the properties section of a message.

The pn_data_t must either be empty or consist of a string keyed map in order to be considered valid message properties.

Parameters
[in]msga message object
Returns
a pointer to the message properties
PN_EXTERN int pn_message_save ( pn_message_t message,
char *  data,
size_t *  size 
)
PN_EXTERN int pn_message_save_amqp ( pn_message_t message,
char *  data,
size_t *  size 
)
PN_EXTERN int pn_message_save_data ( pn_message_t message,
char *  data,
size_t *  size 
)
PN_EXTERN int pn_message_save_json ( pn_message_t message,
char *  data,
size_t *  size 
)
PN_EXTERN int pn_message_save_text ( pn_message_t message,
char *  data,
size_t *  size 
)
PN_EXTERN int pn_message_set_address ( pn_message_t msg,
const char *  address 
)

Set the address for a message.

The supplied address pointer must either be NULL or reference a NUL terminated string. When the pointer is NULL, the address of the message is set to NULL. When the pointer is non NULL, the contents are copied into the message.

Parameters
[in]msga message object
[in]addressa pointer to the new address (or NULL)
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_content_encoding ( pn_message_t msg,
const char *  encoding 
)

Set the content_encoding for a message.

The supplied content_encoding pointer must either be NULL or reference a NUL terminated string. When the pointer is NULL, the content_encoding is set to NULL. When the pointer is non NULL, the contents are copied into the message.

Parameters
[in]msga message object
[in]encodinga pointer to the new content_encoding (or NULL)
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_content_type ( pn_message_t msg,
const char *  type 
)

Set the content_type for a message.

The supplied content_type pointer must either be NULL or reference a NUL terminated string. When the pointer is NULL, the content_type is set to NULL. When the pointer is non NULL, the contents are copied into the message.

Parameters
[in]msga message object
[in]typea pointer to the new content_type (or NULL)
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_correlation_id ( pn_message_t msg,
pn_atom_t  id 
)

Set the correlation id for a message.

See pn_message_get_correlation_id() for more details on the meaning of the correlation id. Note that only string, unsigned long, uuid, or binary values are permitted.

Parameters
[in]msga message object
[in]idthe new value of the message id
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_creation_time ( pn_message_t msg,
pn_timestamp_t  time 
)

Set the creation time for a message.

See pn_message_get_creation_time() for more details.

Parameters
[in]msga message object
[in]timethe new creation time for the message
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_delivery_count ( pn_message_t msg,
uint32_t  count 
)

Set the delivery count for a message.

See pn_message_get_delivery_count() for details on what the delivery count means.

Parameters
[in]msga message object
[in]countthe new delivery count
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_durable ( pn_message_t msg,
bool  durable 
)

Set the durable flag for a message.

See pn_message_is_durable() for a description of the durable flag.

Parameters
[in]msga message object
[in]durablethe new value of the durable flag
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_expiry_time ( pn_message_t msg,
pn_timestamp_t  time 
)

Set the expiry time for a message.

See pn_message_get_expiry_time() for more details.

Parameters
[in]msga message object
[in]timethe new expiry time for the message
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_first_acquirer ( pn_message_t msg,
bool  first 
)

Set the first acquirer flag for a message.

See pn_message_is_first_acquirer() for details on the first acquirer flag.

Parameters
[in]msga message object
[in]firstthe new value for the first acquirer flag
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_format ( pn_message_t message,
pn_format_t  format 
)
PN_EXTERN int pn_message_set_group_id ( pn_message_t msg,
const char *  group_id 
)

Set the group_id for a message.

The supplied group_id pointer must either be NULL or reference a NUL terminated string. When the pointer is NULL, the group_id is set to NULL. When the pointer is non NULL, the contents are copied into the message.

Parameters
[in]msga message object
[in]group_ida pointer to the new group_id (or NULL)
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_group_sequence ( pn_message_t msg,
pn_sequence_t  n 
)

Set the group sequence for a message.

See pn_message_get_group_sequence() for details on what the group sequence means.

Parameters
[in]msga message object
[in]nthe new group sequence for the message
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_id ( pn_message_t msg,
pn_atom_t  id 
)

Set the id for a message.

See pn_message_get_id() for more details on the meaning of the message id. Note that only string, unsigned long, uuid, or binary values are permitted.

Parameters
[in]msga message object
[in]idthe new value of the message id
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_inferred ( pn_message_t msg,
bool  inferred 
)

Set the inferred flag for a message.

See pn_message_is_inferred() for a description of what the inferred flag is.

Parameters
[in]msga message object
[in]inferredthe new value of the inferred flag
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_priority ( pn_message_t msg,
uint8_t  priority 
)

Set the priority for a message.

See pn_message_get_priority() for details on message priority.

Parameters
[in]msga message object
[in]prioritythe new priority for the message
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_reply_to ( pn_message_t msg,
const char *  reply_to 
)

Set the reply_to for a message.

The supplied reply_to pointer must either be NULL or reference a NUL terminated string. When the pointer is NULL, the reply_to is set to NULL. When the pointer is non NULL, the contents are copied into the message.

Parameters
[in]msga message object
[in]reply_toa pointer to the new reply_to (or NULL)
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_reply_to_group_id ( pn_message_t msg,
const char *  reply_to_group_id 
)

Set the reply_to_group_id for a message.

The supplied reply_to_group_id pointer must either be NULL or reference a NUL terminated string. When the pointer is NULL, the reply_to_group_id is set to NULL. When the pointer is non NULL, the contents are copied into the message.

Parameters
[in]msga message object
[in]reply_to_group_ida pointer to the new reply_to_group_id (or NULL)
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_subject ( pn_message_t msg,
const char *  subject 
)

Set the subject for a message.

The supplied subject pointer must either be NULL or reference a NUL terminated string. When the pointer is NULL, the subject is set to NULL. When the pointer is non NULL, the contents are copied into the message.

Parameters
[in]msga message object
[in]subjecta pointer to the new subject (or NULL)
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_ttl ( pn_message_t msg,
pn_millis_t  ttl 
)

Set the ttl for a message.

See pn_message_get_ttl() for a detailed description of message ttl.

Parameters
[in]msga message object
[in]ttlthe new value for the message ttl
Returns
zero on success or an error code on failure
PN_EXTERN int pn_message_set_user_id ( pn_message_t msg,
pn_bytes_t  user_id 
)

Set the user id for a message.

This operation copies the bytes referenced by the provided pn_bytes_t struct.

Parameters
[in]msga message object
[in]user_idthe new user_id for the message
Returns
zero on success or an error code on failure