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...


Classes

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  AccumulatedAck
 Keeps an accumulated record of acknowledged 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 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  Relay
 Sends to the specified handler a copy of the frame it is applied to. More...
struct  FrameDefaultVisitor
 Visitor for all concrete frame body types, which combines AMQBodyConstVisitor and MethodBodyDefaultVisitor. More...
class  FrameSet
 Collects the frames representing a message. 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 an exception if variant contains a blank. More...
struct  ConvertVisitor
 Convert the variant value to type R. More...
struct  AddressVisitor
 Convert the address of variant value to type R. More...
struct  ApplyVisitor
 Apply a visitor to the nested variant. More...
struct  Visit
 visit() interface for type T (optional return type R, default is void. More...
struct  VisitableRoot
 The root class for the hierarchy of objects visitable by Visitor V. More...
struct  Visitable
 The base class for concrete visitable classes. 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 {
  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  XaStatus {
  XA_OK = 0, XA_RBROLLBACK = 1, XA_RBTIMEOUT = 2, XA_HEURHAZ = 3,
  XA_HEURCOM = 4, XA_HEURRB = 5, XA_HEURMIX = 6, XA_RDONLY = 7
}
enum  BodyTypes { METHOD_BODY = 1, HEADER_BODY = 2, CONTENT_BODY = 3, HEARTBEAT_BODY = 8 }
enum  DeliveryMode { TRANSIENT = 1, PERSISTENT = 2 }
enum  header_classes { BASIC = 60 }

Functions

void throwExecutionException (int code, const std::string &text)
void setExecutionException (ExceptionHolder &holder, 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 (0, 10)
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 an invocable object.
template<class Invocable>
Invoker::Result invoke (Invocable &target, const AMQBody &body)
 Invoke 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 = 148


Detailed Description

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

Function Documentation

template<class T>
typed_in_place_factory0<T> qpid::framing::in_place (  )  [inline]

0-arg in_place<T>() function, missing from boost.

template<class Invocable>
Invoker::Result qpid::framing::invoke ( Invocable &  target,
const AMQBody &  body 
) [inline]

Invoke an invocable object.

Invocable classes must provide a nested type Invoker.

template<class Invocable>
Invoker::Result qpid::framing::invoke ( Invocable &  target,
const AMQMethodBody &  body 
) [inline]

Invoke an invocable object.

Invocable classes must provide a nested type Invoker.

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

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

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

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


Variable Documentation

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

Maximum channel ID used by broker.

Reserve high bit for internal use.


Generated on Thu May 15 22:24:21 2008 for Qpid by  doxygen 1.5.5