Classes | |
class | AccumulatedAck |
Keeps an accumulated record of acked messages (by delivery tag). More... | |
class | AMQCommandControlBody |
AMQBody wrapper for Command and Control. More... | |
struct | typed_in_place_factory0 |
0-arg typed_in_place_factory, missing in boost. More... | |
class | Blob |
A "blob" is a chunk of memory which can contain a single object at a time arbitrary type, provided sizeof(T)<=blob.size(). More... | |
class | BodyHandler |
Interface to handle incoming frame bodies. More... | |
class | BodyHolder |
Holder for arbitrary frame body. More... | |
class | ChannelHandler |
Sets the channel number on outgoing frames. More... | |
class | FieldTable |
A set of name-value pairs. More... | |
class | FieldValueException |
Exception that is base exception for all field table errors. More... | |
struct | InvalidConversionException |
Exception thrown when we can't perform requested conversion. More... | |
class | FieldValue |
Value that can appear in an AMQP field table. More... | |
class | Relay |
Sends a copy of the frame its applied to to the specified handler. More... | |
struct | FrameDefaultVisitor |
Visitor for all concrete frame body types, combines AMQBodyConstVisitor and MethodBodyDefaultVisitor. More... | |
class | FrameSet |
Collects the frames representing a message. More... | |
class | Content |
A representation of the AMQP 'content' data type (used for message bodies) which can hold inline data or a reference. More... | |
struct | Handler |
Generic handler that can be linked into chains. More... | |
class | Invoker |
Base class for invoker visitors. More... | |
class | Proxy |
Base class for proxies. More... | |
class | SendContent |
Functor that sends frame to handler, refragmenting if necessary. More... | |
class | SequenceNumber |
4-byte sequence number that 'wraps around'. More... | |
struct | SerializeHandler |
Serializer that can be inserted into a Handler chain. More... | |
class | SessionState |
Session state common to client and broker. More... | |
struct | TypeFilter |
Predicate that selects frames by type. More... | |
struct | Uuid |
A UUID is represented as a boost::array of 16 bytes. More... | |
struct | NoBlankVisitor |
boost::static_visitor that throws exception if variant contains blank. More... | |
struct | ConvertVisitor |
Convert the variant value to type R. More... | |
struct | AddressVisitor |
Convert address of variant value to type R. More... | |
struct | ApplyVisitor |
Apply a visitor to the nested variant in a variant of variants. More... | |
struct | Visit |
visit() interface for type T (optional return type R, default void. More... | |
struct | VisitableRoot |
Root class for hierarchy of objects visitable by Visitor V. More... | |
struct | Visitable |
Base class for concrete visitable classes, implements accept(). More... | |
Typedefs | |
typedef uint8_t | FrameType |
typedef uint16_t | ChannelId |
typedef uint32_t | BatchOffset |
typedef uint8_t | ClassId |
typedef uint8_t | MethodId |
typedef uint16_t | ReplyCode |
typedef Handler< AMQFrame & > | FrameHandler |
Enumerations | |
enum | AmqpConstant { FRAME_METHOD = 1, FRAME_HEADER = 2, FRAME_BODY = 3, FRAME_TRACE = 7, FRAME_HEARTBEAT = 8, FRAME_MIN_SIZE = 4096, FRAME_END = 206, REPLY_SUCCESS = 200, NOT_DELIVERED = 310, CONTENT_TOO_LARGE = 311, NO_ROUTE = 312, NO_CONSUMERS = 313, CONNECTION_FORCED = 320, INVALID_PATH = 402, ACCESS_REFUSED = 403, NOT_FOUND = 404, RESOURCE_LOCKED = 405, PRECONDITION_FAILED = 406, SESSION_BUSY = 407, FRAME_ERROR = 501, SYNTAX_ERROR = 502, COMMAND_INVALID = 503, CHANNEL_ERROR = 504, RESOURCE_ERROR = 506, NOT_ALLOWED = 530, NOT_IMPLEMENTED = 540, INTERNAL_ERROR = 541, INVALID_ARGUMENT = 542, CHANNEL_BUSY = 543, XA_OK = 0, XA_RBROLLBACK = 1, XA_RBTIMEOUT = 2, XA_HEURHAZ = 3, XA_HEURCOM = 4, XA_HEURRB = 5, XA_HEURMIX = 6, XA_RDONLY = 7, FIELD_TABLE_OCTET = 0x00, FIELD_TABLE_SIGNED_BYTE = 0x01, FIELD_TABLE_UNSIGNED_BYTE = 0x02, FIELD_TABLE_CHAR = 0x04, FIELD_TABLE_BOOLEAN = 0x08, FIELD_TABLE_TWO_OCTETS = 0x10, FIELD_TABLE_SIGNED_SHORT = 0x11, FIELD_TABLE_UNSIGNED_SHORT = 0x12, FIELD_TABLE_FOUR_OCTETS = 0x20, FIELD_TABLE_SIGNED_INT = 0x21, FIELD_TABLE_UNSIGNED_INT = 0x22, FIELD_TABLE_FLOAT = 0x23, FIELD_TABLE_UTF32_CHAR = 0x27, FIELD_TABLE_EIGHT_OCTETS = 0x30, FIELD_TABLE_SIGNED_LONG = 0x31, FIELD_TABLE_UNSIGNED_LONG = 0x32, FIELD_TABLE_DOUBLE = 0x33, FIELD_TABLE_DATETIME = 0x38, FIELD_TABLE_SIXTEEN_OCTETS = 0x40, FIELD_TABLE_UUID = 0x48, FIELD_TABLE_THIRTY_TWO_OCTETS = 0x50, FIELD_TABLE_SIXTY_FOUR_OCTETS = 0x60, FIELD_TABLE_128_OCTETS = 0x70, FIELD_TABLE_SHORT_BINARY = 0x80, FIELD_TABLE_SHORT_STRING = 0x84, FIELD_TABLE_SHORT_UTF8_STRING = 0x85, FIELD_TABLE_SHORT_UTF16_STRING = 0x86, FIELD_TABLE_SHORT_UTF32_STRING = 0x87, FIELD_TABLE_BINARY = 0x90, FIELD_TABLE_STRING = 0x94, FIELD_TABLE_UTF8_STRING = 0x95, FIELD_TABLE_UTF16_STRING = 0x96, FIELD_TABLE_UTF32_STRING = 0x97, FIELD_TABLE_LONG_BINARY = 0xa0, FIELD_TABLE_LONG_STRING = 0xa4, FIELD_TABLE_LONG_UTF8_STRING = 0xa5, FIELD_TABLE_LONG_UTF16_STRING = 0xa6, FIELD_TABLE_LONG_UTF32_STRING = 0xa7, FIELD_TABLE_TABLE = 0xa8, FIELD_TABLE_SEQUENCE = 0xa9, FIELD_TABLE_ARRAY = 0xaa, FIELD_TABLE_FIVE_OCTETS = 0xc0, FIELD_TABLE_DECIMAL = 0xc8, FIELD_TABLE_NINE_OCTETS = 0xd0, FIELD_TABLE_LONG_DECIMAL = 0xd8, FIELD_TABLE_VOID = 0xf0, CONNECTION_CLASS_ID = 10, CONNECTION_START_METHOD_ID = 10, CONNECTION_START_OK_METHOD_ID = 11, CONNECTION_SECURE_METHOD_ID = 20, CONNECTION_SECURE_OK_METHOD_ID = 21, CONNECTION_TUNE_METHOD_ID = 30, CONNECTION_TUNE_OK_METHOD_ID = 31, CONNECTION_OPEN_METHOD_ID = 40, CONNECTION_OPEN_OK_METHOD_ID = 41, CONNECTION_REDIRECT_METHOD_ID = 42, CONNECTION_CLOSE_METHOD_ID = 50, CONNECTION_CLOSE_OK_METHOD_ID = 51, SESSION_CLASS_ID = 20, SESSION_OPEN_METHOD_ID = 10, SESSION_ATTACHED_METHOD_ID = 11, SESSION_FLOW_METHOD_ID = 20, SESSION_FLOW_OK_METHOD_ID = 21, SESSION_CLOSE_METHOD_ID = 40, SESSION_CLOSED_METHOD_ID = 41, SESSION_RESUME_METHOD_ID = 50, SESSION_SUSPEND_METHOD_ID = 90, SESSION_DETACHED_METHOD_ID = 100, SESSION_ACK_METHOD_ID = 110, SESSION_HIGH_WATER_MARK_METHOD_ID = 120, SESSION_SOLICIT_ACK_METHOD_ID = 130, ACCESS_CLASS_ID = 30, ACCESS_REQUEST_METHOD_ID = 10, ACCESS_REQUEST_OK_METHOD_ID = 11, EXCHANGE_CLASS_ID = 40, EXCHANGE_DECLARE_METHOD_ID = 10, EXCHANGE_DELETE_METHOD_ID = 20, EXCHANGE_QUERY_METHOD_ID = 30, QUEUE_CLASS_ID = 50, QUEUE_DECLARE_METHOD_ID = 10, QUEUE_BIND_METHOD_ID = 20, QUEUE_UNBIND_METHOD_ID = 50, QUEUE_PURGE_METHOD_ID = 30, QUEUE_DELETE_METHOD_ID = 40, QUEUE_QUERY_METHOD_ID = 60, BASIC_CLASS_ID = 60, BASIC_QOS_METHOD_ID = 10, BASIC_CONSUME_METHOD_ID = 20, BASIC_CONSUME_OK_METHOD_ID = 21, BASIC_CANCEL_METHOD_ID = 30, BASIC_PUBLISH_METHOD_ID = 40, BASIC_DELIVER_METHOD_ID = 60, BASIC_GET_METHOD_ID = 70, BASIC_GET_OK_METHOD_ID = 71, BASIC_GET_EMPTY_METHOD_ID = 72, BASIC_ACK_METHOD_ID = 80, BASIC_REJECT_METHOD_ID = 90, BASIC_RECOVER_METHOD_ID = 100, FILE_CLASS_ID = 70, FILE_QOS_METHOD_ID = 10, FILE_QOS_OK_METHOD_ID = 11, FILE_CONSUME_METHOD_ID = 20, FILE_CONSUME_OK_METHOD_ID = 21, FILE_CANCEL_METHOD_ID = 30, FILE_OPEN_METHOD_ID = 40, FILE_OPEN_OK_METHOD_ID = 41, FILE_STAGE_METHOD_ID = 50, FILE_PUBLISH_METHOD_ID = 60, FILE_RETURN_METHOD_ID = 70, FILE_DELIVER_METHOD_ID = 80, FILE_ACK_METHOD_ID = 90, FILE_REJECT_METHOD_ID = 100, STREAM_CLASS_ID = 80, STREAM_QOS_METHOD_ID = 10, STREAM_QOS_OK_METHOD_ID = 11, STREAM_CONSUME_METHOD_ID = 20, STREAM_CONSUME_OK_METHOD_ID = 21, STREAM_CANCEL_METHOD_ID = 30, STREAM_PUBLISH_METHOD_ID = 40, STREAM_RETURN_METHOD_ID = 50, STREAM_DELIVER_METHOD_ID = 60, TX_CLASS_ID = 90, TX_SELECT_METHOD_ID = 10, TX_COMMIT_METHOD_ID = 20, TX_ROLLBACK_METHOD_ID = 30, DTX_DEMARCATION_CLASS_ID = 100, DTX_DEMARCATION_SELECT_METHOD_ID = 10, DTX_DEMARCATION_START_METHOD_ID = 20, DTX_DEMARCATION_END_METHOD_ID = 30, DTX_COORDINATION_CLASS_ID = 105, DTX_COORDINATION_COMMIT_METHOD_ID = 10, DTX_COORDINATION_FORGET_METHOD_ID = 20, DTX_COORDINATION_GET_TIMEOUT_METHOD_ID = 30, DTX_COORDINATION_PREPARE_METHOD_ID = 40, DTX_COORDINATION_RECOVER_METHOD_ID = 50, DTX_COORDINATION_ROLLBACK_METHOD_ID = 60, DTX_COORDINATION_SET_TIMEOUT_METHOD_ID = 70, TUNNEL_CLASS_ID = 110, TUNNEL_REQUEST_METHOD_ID = 10, MESSAGE_CLASS_ID = 120, MESSAGE_TRANSFER_METHOD_ID = 10, MESSAGE_REJECT_METHOD_ID = 160, MESSAGE_ACQUIRE_METHOD_ID = 170, MESSAGE_ACQUIRED_METHOD_ID = 180, MESSAGE_RELEASE_METHOD_ID = 190, MESSAGE_SUBSCRIBE_METHOD_ID = 20, MESSAGE_CANCEL_METHOD_ID = 30, MESSAGE_GET_METHOD_ID = 40, MESSAGE_RECOVER_METHOD_ID = 50, MESSAGE_OPEN_METHOD_ID = 60, MESSAGE_CLOSE_METHOD_ID = 70, MESSAGE_APPEND_METHOD_ID = 80, MESSAGE_CHECKPOINT_METHOD_ID = 90, MESSAGE_RESUME_METHOD_ID = 100, MESSAGE_QOS_METHOD_ID = 110, MESSAGE_FLOW_MODE_METHOD_ID = 120, MESSAGE_FLOW_METHOD_ID = 130, MESSAGE_FLUSH_METHOD_ID = 140, MESSAGE_STOP_METHOD_ID = 150, MESSAGE_EMPTY_METHOD_ID = 200, MESSAGE_OFFSET_METHOD_ID = 210, BINDING_CLASS_ID = 130, BINDING_QUERY_METHOD_ID = 10, EXECUTION_CLASS_ID = 140, EXECUTION_FLUSH_METHOD_ID = 10, EXECUTION_COMPLETE_METHOD_ID = 20, EXECUTION_NOOP_METHOD_ID = 30, EXECUTION_RESULT_METHOD_ID = 40, EXECUTION_SYNC_METHOD_ID = 50, CONNECTION010_CLASS_ID = 1, CONNECTION010_START_METHOD_ID = 1, CONNECTION010_START_OK_METHOD_ID = 2, CONNECTION010_SECURE_METHOD_ID = 3, CONNECTION010_SECURE_OK_METHOD_ID = 4, CONNECTION010_TUNE_METHOD_ID = 5, CONNECTION010_TUNE_OK_METHOD_ID = 6, CONNECTION010_OPEN_METHOD_ID = 7, CONNECTION010_OPEN_OK_METHOD_ID = 8, CONNECTION010_REDIRECT_METHOD_ID = 9, CONNECTION010_HEARTBEAT_METHOD_ID = 10, CONNECTION010_CLOSE_METHOD_ID = 11, CONNECTION010_CLOSE_OK_METHOD_ID = 12, SESSION010_CLASS_ID = 2, SESSION010_ATTACH_METHOD_ID = 1, SESSION010_ATTACHED_METHOD_ID = 2, SESSION010_DETACH_METHOD_ID = 3, SESSION010_DETACHED_METHOD_ID = 4, SESSION010_REQUEST_TIMEOUT_METHOD_ID = 5, SESSION010_TIMEOUT_METHOD_ID = 6, SESSION010_COMMAND_POINT_METHOD_ID = 7, SESSION010_EXPECTED_METHOD_ID = 8, SESSION010_CONFIRMED_METHOD_ID = 9, SESSION010_COMPLETED_METHOD_ID = 10, SESSION010_KNOWN_COMPLETED_METHOD_ID = 11, SESSION010_FLUSH_METHOD_ID = 12, SESSION010_GAP_METHOD_ID = 13, EXECUTION010_CLASS_ID = 3, EXECUTION010_SYNC_METHOD_ID = 1, EXECUTION010_RESULT_METHOD_ID = 2, EXECUTION010_EXCEPTION_METHOD_ID = 3, MESSAGE010_CLASS_ID = 4, MESSAGE010_TRANSFER_METHOD_ID = 1, MESSAGE010_ACCEPT_METHOD_ID = 2, MESSAGE010_REJECT_METHOD_ID = 3, MESSAGE010_RELEASE_METHOD_ID = 4, MESSAGE010_ACQUIRE_METHOD_ID = 5, MESSAGE010_SUBSCRIBE_METHOD_ID = 7, MESSAGE010_CANCEL_METHOD_ID = 8, MESSAGE010_SET_FLOW_MODE_METHOD_ID = 9, MESSAGE010_FLOW_METHOD_ID = 10, MESSAGE010_FLUSH_METHOD_ID = 11, MESSAGE010_STOP_METHOD_ID = 12, TX010_CLASS_ID = 5, TX010_SELECT_METHOD_ID = 1, TX010_COMMIT_METHOD_ID = 2, TX010_ROLLBACK_METHOD_ID = 3, DTX010_CLASS_ID = 6, DTX010_SELECT_METHOD_ID = 1, DTX010_START_METHOD_ID = 2, DTX010_END_METHOD_ID = 3, DTX010_COMMIT_METHOD_ID = 4, DTX010_FORGET_METHOD_ID = 5, DTX010_GET_TIMEOUT_METHOD_ID = 6, DTX010_PREPARE_METHOD_ID = 7, DTX010_RECOVER_METHOD_ID = 8, DTX010_ROLLBACK_METHOD_ID = 9, DTX010_SET_TIMEOUT_METHOD_ID = 10, EXCHANGE010_CLASS_ID = 7, EXCHANGE010_DECLARE_METHOD_ID = 1, EXCHANGE010_DELETE_METHOD_ID = 2, EXCHANGE010_QUERY_METHOD_ID = 3, EXCHANGE010_BIND_METHOD_ID = 4, EXCHANGE010_UNBIND_METHOD_ID = 5, EXCHANGE010_BOUND_METHOD_ID = 6, QUEUE010_CLASS_ID = 8, QUEUE010_DECLARE_METHOD_ID = 1, QUEUE010_DELETE_METHOD_ID = 2, QUEUE010_PURGE_METHOD_ID = 3, QUEUE010_QUERY_METHOD_ID = 4, CLUSTER_CLASS_ID = 201, CLUSTER_NOTIFY_METHOD_ID = 10 } |
enum | BodyTypes { METHOD_BODY = 1, HEADER_BODY = 2, CONTENT_BODY = 3, HEARTBEAT_BODY = 8 } |
enum | DeliveryMode { TRANSIENT = 1, PERSISTENT = 2 } |
enum | discriminator_types { INLINE = 0, REFERENCE = 1 } |
enum | header_classes { BASIC = 60 } |
Functions | |
void | throwReplyException (int code, const std::string &text) |
std::ostream & | operator<< (std::ostream &, const Range &) |
std::ostream & | operator<< (std::ostream &, const AccumulatedAck &) |
std::ostream & | operator<< (std::ostream &out, const AMQBody &body) |
std::ostream & | operator<< (std::ostream &, const AMQFrame &) |
static ProtocolVersion | highestProtocolVersion (99, 0) |
template<class T> | |
typed_in_place_factory0< T > | in_place () |
0-arg in_place<T>() function, missing from boost. | |
std::ostream & | operator<< (std::ostream &, const Buffer &) |
template<> | |
bool | FieldValue::convertsTo< std::string > () const |
template<> | |
std::string | FieldValue::get< std::string > () const |
std::ostream & | operator<< (std::ostream &out, const FieldValue &v) |
template<class Invocable> | |
Invoker::Result | invoke (Invocable &target, const AMQMethodBody &body) |
Invoke on an invocable object. | |
template<class Invocable> | |
Invoker::Result | invoke (Invocable &target, const AMQBody &body) |
Invoke on an invocable object. | |
std::ostream & | operator<< (std::ostream &o, const framing::ProtocolInitiation &pi) |
std::ostream & | operator<< (std::ostream &, const Uuid &) |
Print in format 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb. | |
std::istream & | operator>> (std::istream &, Uuid &) |
Read from format 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb. | |
template<class Visitor, class Visitable> | |
Visitor::result_type | applyApplyVisitor (const Visitor &visitor, Visitable &visitable) |
Convenience function to construct and apply an ApplyVisitor. | |
Variables | |
const ChannelId | CHANNEL_MAX = (ChannelId(~1))>>1 |
Maximum channel ID used by broker. | |
const ChannelId | CHANNEL_HIGH_BIT = ChannelId(~CHANNEL_MAX) |
const size_t | MAX_METHOD_BODY_SIZE = 472 |
Invoker::Result qpid::framing::invoke | ( | Invocable & | target, | |
const AMQMethodBody & | body | |||
) |
Invoke on an invocable object.
Invocable classes must provide a nested type Invoker.
Invoker::Result qpid::framing::invoke | ( | Invocable & | target, | |
const AMQBody & | body | |||
) |
Invoke on an invocable object.
Invocable classes must provide a nested type Invoker.
const ChannelId qpid::framing::CHANNEL_MAX = (ChannelId(~1))>>1 |
Maximum channel ID used by broker.
Reserve high bit for internal use.