16#ifndef INCLUDED_RMQT_PROPERTIES
17#define INCLUDED_RMQT_PROPERTIES
19#include <rmqt_fieldvalue.h>
21#include <bdlb_nullablevalue.h>
22#include <bdlt_datetime.h>
24#include <bsl_memory.h>
25#include <bsl_ostream.h>
27#include <bsl_string.h>
29namespace BloombergLP {
36typedef enum { OFF = 0, ON = 1 } Value;
40typedef enum { OFF = 0, ON = 1 } Value;
44typedef enum { NO = 0, YES = 1 } Value;
47namespace DeliveryMode {
48typedef enum { NON_PERSISTENT = 1, PERSISTENT = 2 } Value;
52typedef enum { OFF = 0, ON = 1 } Value;
55typedef bsl::set<bsl::string> Tunables;
57namespace QueueUnused {
58typedef enum { ALLOW_IN_USE = 0, IF_UNUSED = 1 } Value;
62typedef enum { ALLOW_MSG_DELETE = 0, IF_EMPTY = 1 } Value;
66typedef enum { DISCARD_UNROUTABLE = 0, RETURN_UNROUTABLE = 1 } Value;
81 bsl::shared_ptr<rmqt::FieldTable>
headers;
110 bdlb::NullableValue<bsl::string>
type;
116 bdlb::NullableValue<bsl::string>
appId;
119 print(bsl::ostream& stream,
int level,
int spacesPerLevel)
const;
124bsl::ostream& operator<<(bsl::ostream& os,
const Properties& props);
Properties is an minimal abstraction of the properties one can set on a message.
Definition: rmqt_properties.h:73
bdlb::NullableValue< bsl::string > userId
creating user id
Definition: rmqt_properties.h:113
bdlb::NullableValue< bdlt::Datetime > timestamp
message timestamp
Definition: rmqt_properties.h:107
bdlb::NullableValue< bsl::string > messageId
application message identifier
Definition: rmqt_properties.h:104
bdlb::NullableValue< bsl::string > contentEncoding
MIME content encoding.
Definition: rmqt_properties.h:78
bdlb::NullableValue< bsl::string > replyTo
address to reply to
Definition: rmqt_properties.h:98
bdlb::NullableValue< bsl::string > contentType
MIME content type.
Definition: rmqt_properties.h:75
bdlb::NullableValue< bsl::string > expiration
message expiration specification
Definition: rmqt_properties.h:101
bdlb::NullableValue< bsl::string > appId
creating application id
Definition: rmqt_properties.h:116
bdlb::NullableValue< bsl::uint8_t > deliveryMode
non-persistent (1) or persistent (2)
Definition: rmqt_properties.h:84
bdlb::NullableValue< bsl::string > type
message type name
Definition: rmqt_properties.h:110
bsl::shared_ptr< rmqt::FieldTable > headers
message header field table
Definition: rmqt_properties.h:81
bdlb::NullableValue< bsl::string > correlationId
application correlation identifier
Definition: rmqt_properties.h:90
bdlb::NullableValue< bsl::uint8_t > priority
message priority, 0 to 9
Definition: rmqt_properties.h:87