Apache Qpid - AMQP Messaging for Java JMS, C++, Python, Ruby, and .NET Apache Qpid Documentation
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
qpid::framing Namespace Reference

The framing namespace contains classes that are used to create, send and receive the basic packets from which AMQP is built. More...

Namespaces

namespace  connection
 
namespace  dtx
 
namespace  execution
 
namespace  file
 
namespace  message
 
namespace  session
 
namespace  stream
 

Classes

class  Array
 
struct  OutOfBounds
 
class  Buffer
 
class  DeliveryProperties
 
class  DtxGetTimeoutResult
 
class  DtxRecoverResult
 
class  ExchangeBoundResult
 
class  ExchangeQueryResult
 
class  FieldTable
 A set of name-value pairs. More...
 
class  FieldValueException
 Exception that is the 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  FixedWidthValue
 
class  UuidData
 
class  FixedWidthValue< 0 >
 
class  VariableWidthValue
 
class  EncodedValue
 
class  Str8Value
 
class  Str16Value
 
class  Var16Value
 
class  Var32Value
 
class  Struct32Value
 
class  FloatValue
 
class  DoubleValue
 
class  IntegerValue
 
class  TimeValue
 
class  Integer64Value
 
class  Unsigned64Value
 
class  FieldTableValue
 
class  ArrayValue
 
class  VoidValue
 
class  BoolValue
 
class  Unsigned8Value
 
class  Unsigned16Value
 
class  Unsigned32Value
 
class  Integer8Value
 
class  Integer16Value
 
class  ListValue
 
class  UuidValue
 
class  FileProperties
 
class  FragmentProperties
 
class  Header
 
class  List
 Representation of an AMQP 0-10 list. More...
 
class  MessageAcquireResult
 
class  MessageProperties
 
class  MessageResumeResult
 
class  ProtocolVersion
 
class  QueueQueryResult
 
struct  UnauthorizedAccessException
 The client attempted to work with a server entity to which it has no access due to security settings. More...
 
struct  NotFoundException
 The client attempted to work with a server entity that does not exist. More...
 
struct  ResourceLockedException
 The client attempted to work with a server entity to which it has no access because another client is working with it. More...
 
struct  PreconditionFailedException
 The client requested a command that was not allowed because some precondition failed. More...
 
struct  ResourceDeletedException
 A server entity the client is working with has been deleted. More...
 
struct  IllegalStateException
 The peer sent a command that is not permitted in the current state of the session. More...
 
struct  CommandInvalidException
 The command segments could not be decoded. More...
 
struct  ResourceLimitExceededException
 The client exceeded its resource allocation. More...
 
struct  NotAllowedException
 The peer tried to use a command a manner that is inconsistent with the rules described in the specification. More...
 
struct  IllegalArgumentException
 The command argument is malformed, i.e. More...
 
struct  NotImplementedException
 The peer tried to use functionality that is not implemented in its partner. More...
 
struct  InternalErrorException
 The peer could not complete the command because of an internal error. More...
 
struct  InvalidArgumentException
 An invalid argument was passed to a command, and the operation could not proceed. More...
 
struct  ConnectionForcedException
 An operator intervened to close the connection for some reason. More...
 
struct  InvalidPathException
 The client tried to work with an unknown virtual host. More...
 
struct  FramingErrorException
 A valid frame header cannot be formed from the incoming byte stream. More...
 
struct  SessionBusyException
 The session is currently attached to another transport. More...
 
struct  TransportBusyException
 The transport is currently attached to another session. More...
 
struct  NotAttachedException
 The transport is not currently attached to any session. More...
 
struct  UnknownIdsException
 Command data was received prior to any use of the command-point control. More...
 
class  ReplyTo
 
class  SequenceNumber
 4-byte sequence number that 'wraps around'. More...
 
struct  Window
 
class  SequenceSet
 
class  StreamProperties
 
class  StructHelper
 
struct  Uuid
 A UUID is represented as a boost::array of 16 bytes. More...
 
class  XaResult
 
class  Xid
 

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 IntegerValue Integer32Value
 

Enumerations

enum  DeliveryMode { TRANSIENT = 1, PERSISTENT = 2 }
 
enum  AmqpConstant {
  MIN_MAX_FRAME_SIZE =4096, CONNECTION_CLASS_ID =0x1, CONNECTION_START_METHOD_ID =0x1, CONNECTION_START_OK_METHOD_ID =0x2,
  CONNECTION_SECURE_METHOD_ID =0x3, CONNECTION_SECURE_OK_METHOD_ID =0x4, CONNECTION_TUNE_METHOD_ID =0x5, CONNECTION_TUNE_OK_METHOD_ID =0x6,
  CONNECTION_OPEN_METHOD_ID =0x7, CONNECTION_OPEN_OK_METHOD_ID =0x8, CONNECTION_REDIRECT_METHOD_ID =0x9, CONNECTION_HEARTBEAT_METHOD_ID =0xa,
  CONNECTION_CLOSE_METHOD_ID =0xb, CONNECTION_CLOSE_OK_METHOD_ID =0xc, SESSION_CLASS_ID =0x2, SESSION_ATTACH_METHOD_ID =0x1,
  SESSION_ATTACHED_METHOD_ID =0x2, SESSION_DETACH_METHOD_ID =0x3, SESSION_DETACHED_METHOD_ID =0x4, SESSION_REQUEST_TIMEOUT_METHOD_ID =0x5,
  SESSION_TIMEOUT_METHOD_ID =0x6, SESSION_COMMAND_POINT_METHOD_ID =0x7, SESSION_EXPECTED_METHOD_ID =0x8, SESSION_CONFIRMED_METHOD_ID =0x9,
  SESSION_COMPLETED_METHOD_ID =0xa, SESSION_KNOWN_COMPLETED_METHOD_ID =0xb, SESSION_FLUSH_METHOD_ID =0xc, SESSION_GAP_METHOD_ID =0xd,
  EXECUTION_CLASS_ID =0x3, EXECUTION_SYNC_METHOD_ID =0x1, EXECUTION_RESULT_METHOD_ID =0x2, EXECUTION_EXCEPTION_METHOD_ID =0x3,
  MESSAGE_CLASS_ID =0x4, MESSAGE_TRANSFER_METHOD_ID =0x1, MESSAGE_ACCEPT_METHOD_ID =0x2, MESSAGE_REJECT_METHOD_ID =0x3,
  MESSAGE_RELEASE_METHOD_ID =0x4, MESSAGE_ACQUIRE_METHOD_ID =0x5, MESSAGE_RESUME_METHOD_ID =0x6, MESSAGE_SUBSCRIBE_METHOD_ID =0x7,
  MESSAGE_CANCEL_METHOD_ID =0x8, MESSAGE_SET_FLOW_MODE_METHOD_ID =0x9, MESSAGE_FLOW_METHOD_ID =0xa, MESSAGE_FLUSH_METHOD_ID =0xb,
  MESSAGE_STOP_METHOD_ID =0xc, TX_CLASS_ID =0x5, TX_SELECT_METHOD_ID =0x1, TX_COMMIT_METHOD_ID =0x2,
  TX_ROLLBACK_METHOD_ID =0x3, DTX_CLASS_ID =0x6, DTX_SELECT_METHOD_ID =0x1, DTX_START_METHOD_ID =0x2,
  DTX_END_METHOD_ID =0x3, DTX_COMMIT_METHOD_ID =0x4, DTX_FORGET_METHOD_ID =0x5, DTX_GET_TIMEOUT_METHOD_ID =0x6,
  DTX_PREPARE_METHOD_ID =0x7, DTX_RECOVER_METHOD_ID =0x8, DTX_ROLLBACK_METHOD_ID =0x9, DTX_SET_TIMEOUT_METHOD_ID =0xa,
  EXCHANGE_CLASS_ID =0x7, EXCHANGE_DECLARE_METHOD_ID =0x1, EXCHANGE_DELETE_METHOD_ID =0x2, EXCHANGE_QUERY_METHOD_ID =0x3,
  EXCHANGE_BIND_METHOD_ID =0x4, EXCHANGE_UNBIND_METHOD_ID =0x5, EXCHANGE_BOUND_METHOD_ID =0x6, QUEUE_CLASS_ID =0x8,
  QUEUE_DECLARE_METHOD_ID =0x1, QUEUE_DELETE_METHOD_ID =0x2, QUEUE_PURGE_METHOD_ID =0x3, QUEUE_QUERY_METHOD_ID =0x4,
  FILE_CLASS_ID =0x9, FILE_QOS_METHOD_ID =0x1, FILE_QOS_OK_METHOD_ID =0x2, FILE_CONSUME_METHOD_ID =0x3,
  FILE_CONSUME_OK_METHOD_ID =0x4, FILE_CANCEL_METHOD_ID =0x5, FILE_OPEN_METHOD_ID =0x6, FILE_OPEN_OK_METHOD_ID =0x7,
  FILE_STAGE_METHOD_ID =0x8, FILE_PUBLISH_METHOD_ID =0x9, FILE_RETURN_METHOD_ID =0xa, FILE_DELIVER_METHOD_ID =0xb,
  FILE_ACK_METHOD_ID =0xc, FILE_REJECT_METHOD_ID =0xd, STREAM_CLASS_ID =0xa, STREAM_QOS_METHOD_ID =0x1,
  STREAM_QOS_OK_METHOD_ID =0x2, STREAM_CONSUME_METHOD_ID =0x3, STREAM_CONSUME_OK_METHOD_ID =0x4, STREAM_CANCEL_METHOD_ID =0x5,
  STREAM_PUBLISH_METHOD_ID =0x6, STREAM_RETURN_METHOD_ID =0x7, STREAM_DELIVER_METHOD_ID =0x8
}
 
enum  SegmentType { SEGMENT_TYPE_CONTROL =0, SEGMENT_TYPE_COMMAND =1, SEGMENT_TYPE_HEADER =2, SEGMENT_TYPE_BODY =3 }
 
enum  Track { TRACK_CONTROL =0, TRACK_COMMAND =1 }
 
enum  TypeCode {
  TYPE_CODE_BIN8 = 0x00, TYPE_CODE_INT8 = 0x01, TYPE_CODE_UINT8 = 0x02, TYPE_CODE_CHAR = 0x04,
  TYPE_CODE_BOOLEAN = 0x08, TYPE_CODE_BIN16 = 0x10, TYPE_CODE_INT16 = 0x11, TYPE_CODE_UINT16 = 0x12,
  TYPE_CODE_BIN32 = 0x20, TYPE_CODE_INT32 = 0x21, TYPE_CODE_UINT32 = 0x22, TYPE_CODE_FLOAT = 0x23,
  TYPE_CODE_CHAR_UTF32 = 0x27, TYPE_CODE_BIN64 = 0x30, TYPE_CODE_INT64 = 0x31, TYPE_CODE_UINT64 = 0x32,
  TYPE_CODE_DOUBLE = 0x33, TYPE_CODE_DATETIME = 0x38, TYPE_CODE_BIN128 = 0x40, TYPE_CODE_UUID = 0x48,
  TYPE_CODE_BIN256 = 0x50, TYPE_CODE_BIN512 = 0x60, TYPE_CODE_BIN1024 = 0x70, TYPE_CODE_VBIN8 = 0x80,
  TYPE_CODE_STR8_LATIN = 0x84, TYPE_CODE_STR8 = 0x85, TYPE_CODE_STR8_UTF16 = 0x86, TYPE_CODE_VBIN16 = 0x90,
  TYPE_CODE_STR16_LATIN = 0x94, TYPE_CODE_STR16 = 0x95, TYPE_CODE_STR16_UTF16 = 0x96, TYPE_CODE_VBIN32 = 0xa0,
  TYPE_CODE_MAP = 0xa8, TYPE_CODE_LIST = 0xa9, TYPE_CODE_ARRAY = 0xaa, TYPE_CODE_STRUCT32 = 0xab,
  TYPE_CODE_BIN40 = 0xc0, TYPE_CODE_DEC32 = 0xc8, TYPE_CODE_BIN72 = 0xd0, TYPE_CODE_DEC64 = 0xd8,
  TYPE_CODE_VOID = 0xf0, TYPE_CODE_BIT = 0xf1
}
 

Functions

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 T >
bool getEncodedValue (FieldTable::ValuePtr vptr, T &value)
 
sys::ExceptionHolder createSessionException (int code, const std::string &text)
 
sys::ExceptionHolder createConnectionException (int code, const std::string &text)
 
sys::ExceptionHolder createChannelException (int code, const std::string &text)
 
int32_t operator- (const SequenceNumber &a, const SequenceNumber &b)
 
SequenceNumber operator+ (const SequenceNumber &a, int32_t n)
 
SequenceNumber operator- (const SequenceNumber &a, int32_t n)
 
std::ostream & operator<< (std::ostream &o, const SequenceNumber &n)
 
bool isTypeCode (uint8_t t)
 True if t is a valid TypeCode value.
 
TypeCode typeCode (uint8_t)
 Throw exception if not a valid TypeCode.
 
const char * typeName (TypeCode t)
 
std::ostream & operator<< (std::ostream &, TypeCode)
 
std::ostream & operator<< (std::ostream &, Uuid)
 Print in format 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb.
 
std::istream & operator>> (std::istream &, Uuid &)
 Read from format 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb.
 

Variables

const ChannelId CHANNEL_MAX =(ChannelId(~1))>>1
 Maximum channel ID used by broker.
 
const ChannelId CHANNEL_HIGH_BIT = ChannelId(~CHANNEL_MAX)
 

Detailed Description

The framing namespace contains classes that are used to create, send and receive the basic packets from which AMQP is built.

Typedef Documentation

Definition at line 36 of file amqp_types.h.

Definition at line 35 of file amqp_types.h.

Definition at line 37 of file amqp_types.h.

Definition at line 34 of file amqp_types.h.

Definition at line 454 of file FieldValue.h.

Definition at line 38 of file amqp_types.h.

Definition at line 39 of file amqp_types.h.

Enumeration Type Documentation

Enumerator
MIN_MAX_FRAME_SIZE 
CONNECTION_CLASS_ID 
CONNECTION_START_METHOD_ID 
CONNECTION_START_OK_METHOD_ID 
CONNECTION_SECURE_METHOD_ID 
CONNECTION_SECURE_OK_METHOD_ID 
CONNECTION_TUNE_METHOD_ID 
CONNECTION_TUNE_OK_METHOD_ID 
CONNECTION_OPEN_METHOD_ID 
CONNECTION_OPEN_OK_METHOD_ID 
CONNECTION_REDIRECT_METHOD_ID 
CONNECTION_HEARTBEAT_METHOD_ID 
CONNECTION_CLOSE_METHOD_ID 
CONNECTION_CLOSE_OK_METHOD_ID 
SESSION_CLASS_ID 
SESSION_ATTACH_METHOD_ID 
SESSION_ATTACHED_METHOD_ID 
SESSION_DETACH_METHOD_ID 
SESSION_DETACHED_METHOD_ID 
SESSION_REQUEST_TIMEOUT_METHOD_ID 
SESSION_TIMEOUT_METHOD_ID 
SESSION_COMMAND_POINT_METHOD_ID 
SESSION_EXPECTED_METHOD_ID 
SESSION_CONFIRMED_METHOD_ID 
SESSION_COMPLETED_METHOD_ID 
SESSION_KNOWN_COMPLETED_METHOD_ID 
SESSION_FLUSH_METHOD_ID 
SESSION_GAP_METHOD_ID 
EXECUTION_CLASS_ID 
EXECUTION_SYNC_METHOD_ID 
EXECUTION_RESULT_METHOD_ID 
EXECUTION_EXCEPTION_METHOD_ID 
MESSAGE_CLASS_ID 
MESSAGE_TRANSFER_METHOD_ID 
MESSAGE_ACCEPT_METHOD_ID 
MESSAGE_REJECT_METHOD_ID 
MESSAGE_RELEASE_METHOD_ID 
MESSAGE_ACQUIRE_METHOD_ID 
MESSAGE_RESUME_METHOD_ID 
MESSAGE_SUBSCRIBE_METHOD_ID 
MESSAGE_CANCEL_METHOD_ID 
MESSAGE_SET_FLOW_MODE_METHOD_ID 
MESSAGE_FLOW_METHOD_ID 
MESSAGE_FLUSH_METHOD_ID 
MESSAGE_STOP_METHOD_ID 
TX_CLASS_ID 
TX_SELECT_METHOD_ID 
TX_COMMIT_METHOD_ID 
TX_ROLLBACK_METHOD_ID 
DTX_CLASS_ID 
DTX_SELECT_METHOD_ID 
DTX_START_METHOD_ID 
DTX_END_METHOD_ID 
DTX_COMMIT_METHOD_ID 
DTX_FORGET_METHOD_ID 
DTX_GET_TIMEOUT_METHOD_ID 
DTX_PREPARE_METHOD_ID 
DTX_RECOVER_METHOD_ID 
DTX_ROLLBACK_METHOD_ID 
DTX_SET_TIMEOUT_METHOD_ID 
EXCHANGE_CLASS_ID 
EXCHANGE_DECLARE_METHOD_ID 
EXCHANGE_DELETE_METHOD_ID 
EXCHANGE_QUERY_METHOD_ID 
EXCHANGE_BIND_METHOD_ID 
EXCHANGE_UNBIND_METHOD_ID 
EXCHANGE_BOUND_METHOD_ID 
QUEUE_CLASS_ID 
QUEUE_DECLARE_METHOD_ID 
QUEUE_DELETE_METHOD_ID 
QUEUE_PURGE_METHOD_ID 
QUEUE_QUERY_METHOD_ID 
FILE_CLASS_ID 
FILE_QOS_METHOD_ID 
FILE_QOS_OK_METHOD_ID 
FILE_CONSUME_METHOD_ID 
FILE_CONSUME_OK_METHOD_ID 
FILE_CANCEL_METHOD_ID 
FILE_OPEN_METHOD_ID 
FILE_OPEN_OK_METHOD_ID 
FILE_STAGE_METHOD_ID 
FILE_PUBLISH_METHOD_ID 
FILE_RETURN_METHOD_ID 
FILE_DELIVER_METHOD_ID 
FILE_ACK_METHOD_ID 
FILE_REJECT_METHOD_ID 
STREAM_CLASS_ID 
STREAM_QOS_METHOD_ID 
STREAM_QOS_OK_METHOD_ID 
STREAM_CONSUME_METHOD_ID 
STREAM_CONSUME_OK_METHOD_ID 
STREAM_CANCEL_METHOD_ID 
STREAM_PUBLISH_METHOD_ID 
STREAM_RETURN_METHOD_ID 
STREAM_DELIVER_METHOD_ID 

Definition at line 34 of file constants.h.

Enumerator
TRANSIENT 
PERSISTENT 

Definition at line 61 of file amqp_types.h.

Enumerator
SEGMENT_TYPE_CONTROL 
SEGMENT_TYPE_COMMAND 
SEGMENT_TYPE_HEADER 
SEGMENT_TYPE_BODY 

Definition at line 34 of file enum.h.

Enumerator
TRACK_CONTROL 
TRACK_COMMAND 

Definition at line 40 of file enum.h.

Enumerator
TYPE_CODE_BIN8 
TYPE_CODE_INT8 
TYPE_CODE_UINT8 
TYPE_CODE_CHAR 
TYPE_CODE_BOOLEAN 
TYPE_CODE_BIN16 
TYPE_CODE_INT16 
TYPE_CODE_UINT16 
TYPE_CODE_BIN32 
TYPE_CODE_INT32 
TYPE_CODE_UINT32 
TYPE_CODE_FLOAT 
TYPE_CODE_CHAR_UTF32 
TYPE_CODE_BIN64 
TYPE_CODE_INT64 
TYPE_CODE_UINT64 
TYPE_CODE_DOUBLE 
TYPE_CODE_DATETIME 
TYPE_CODE_BIN128 
TYPE_CODE_UUID 
TYPE_CODE_BIN256 
TYPE_CODE_BIN512 
TYPE_CODE_BIN1024 
TYPE_CODE_VBIN8 
TYPE_CODE_STR8_LATIN 
TYPE_CODE_STR8 
TYPE_CODE_STR8_UTF16 
TYPE_CODE_VBIN16 
TYPE_CODE_STR16_LATIN 
TYPE_CODE_STR16 
TYPE_CODE_STR16_UTF16 
TYPE_CODE_VBIN32 
TYPE_CODE_MAP 
TYPE_CODE_LIST 
TYPE_CODE_ARRAY 
TYPE_CODE_STRUCT32 
TYPE_CODE_BIN40 
TYPE_CODE_DEC32 
TYPE_CODE_BIN72 
TYPE_CODE_DEC64 
TYPE_CODE_VOID 
TYPE_CODE_BIT 

Definition at line 36 of file TypeCode.h.

Function Documentation

sys::ExceptionHolder qpid::framing::createChannelException ( int  code,
const std::string &  text 
)
sys::ExceptionHolder qpid::framing::createConnectionException ( int  code,
const std::string &  text 
)
sys::ExceptionHolder qpid::framing::createSessionException ( int  code,
const std::string &  text 
)
template<>
bool qpid::framing::FieldValue::convertsTo< std::string > ( ) const
inline

Definition at line 124 of file FieldValue.h.

template<>
std::string qpid::framing::FieldValue::get< std::string > ( ) const
inline

Definition at line 133 of file FieldValue.h.

template<class T >
bool qpid::framing::getEncodedValue ( FieldTable::ValuePtr  vptr,
T &  value 
)

Definition at line 469 of file FieldValue.h.

References qpid::framing::EncodedValue< T >::getValue().

bool qpid::framing::isTypeCode ( uint8_t  t)

True if t is a valid TypeCode value.

SequenceNumber qpid::framing::operator+ ( const SequenceNumber &  a,
int32_t  n 
)
inline

Definition at line 66 of file SequenceNumber.h.

References qpid::framing::SequenceNumber::getValue().

int32_t qpid::framing::operator- ( const SequenceNumber &  a,
const SequenceNumber &  b 
)
inline

Definition at line 62 of file SequenceNumber.h.

References qpid::framing::SequenceNumber::getValue().

SequenceNumber qpid::framing::operator- ( const SequenceNumber &  a,
int32_t  n 
)
inline

Definition at line 70 of file SequenceNumber.h.

References qpid::framing::SequenceNumber::getValue().

std::ostream& qpid::framing::operator<< ( std::ostream &  o,
const SequenceNumber &  n 
)
std::ostream& qpid::framing::operator<< ( std::ostream &  ,
Uuid   
)

Print in format 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb.

std::ostream& qpid::framing::operator<< ( std::ostream &  ,
TypeCode   
)
std::ostream& qpid::framing::operator<< ( std::ostream &  ,
const Buffer &   
)
std::ostream& qpid::framing::operator<< ( std::ostream &  out,
const FieldValue &  v 
)
inline

Definition at line 135 of file FieldValue.h.

References qpid::framing::FieldValue::print().

std::istream& qpid::framing::operator>> ( std::istream &  ,
Uuid &   
)

Read from format 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb.

TypeCode qpid::framing::typeCode ( uint8_t  )

Throw exception if not a valid TypeCode.

const char* qpid::framing::typeName ( TypeCode  t)
Returns
0 if t is not a valid enum TypeCode value.

Variable Documentation

const ChannelId qpid::framing::CHANNEL_HIGH_BIT = ChannelId(~CHANNEL_MAX)

Definition at line 51 of file amqp_types.h.

const ChannelId qpid::framing::CHANNEL_MAX =(ChannelId(~1))>>1

Maximum channel ID used by broker.

Reserve high bit for internal use.

Definition at line 50 of file amqp_types.h.


Qpid C++ API Reference
Generated on Tue Jan 29 2013 for Qpid C++ Client API by doxygen 1.8.3