qpid Namespace Reference

This file was automatically generated from the AMQP specification. More...


Classes

class  DataDir
 DataDir class. More...
class  Exception
 Base class for Qpid runtime exceptions. More...
class  ExceptionHolder
 Holder for exceptions. More...
class  IListNode
 Base class for values (nodes) in an IList. More...
class  IList
 Intrusive doubly-linked list. More...
class  InlineAllocator
 An allocator that has inline storage for up to Max objects of type BaseAllocator::value_type. More...
class  InlineVector
 A vector that stores up to Max elements in inline storage, otherwise uses normal vector allocation. More...
class  ISListNode
 Base class for values (nodes) in an ISList. More...
class  ISList
 Intrusive singly-linked list. More...
struct  Msg
 A simple wrapper for std::ostringstream that allows in place construction of a message and automatic conversion to string. More...
struct  Options
 Base class for options. More...
struct  CommonOptions
 Standard options for configuration. More...
class  Plugin
 Plug-in base class. More...
class  Range
 A range of values, used in RangeSet. More...
class  RangeSet
 A set implemented as a list of [begin, end) ranges. More...
class  RefCounted
 Reference-counted base class. More...
struct  RefCountedChild
 Reference-counted member of a reference-counted parent class. More...
struct  SerializablePair
 Serialize std::pair. More...
class  Serializer
 Base class for all serializers. More...
class  EncoderBase
 Base class for encoders, provides generic encode functions. More...
class  DecoderBase
 Base class for decoders, provides generic decode functions. More...
struct  SerializeAs
 Serialize a type by converting it to/from another type. More...
class  SessionId
 Identifier for a session. More...
struct  SessionPoint
 A point in the session. More...
class  SessionState
 Support for session idempotence barrier and resume as defined in AMQP 0-10. More...
class  SharedObject
 Template to enforce shared object conventions. More...
struct  TcpAddress
 TCP address of a broker - host:port. More...
struct  Url
 An AMQP URL contains a list of addresses. More...
class  TestCase
 Interface to be implemented by test cases for use with the test runner. More...

Namespaces

namespace  client
 The client namespace contains all classes that make up a client implementation of the AMQP protocol.
namespace  framing
 The framing namespace contains classes that are used to create, send and receive the basic packets from which AMQP is built.

Typedefs

typedef boost::is_same
< boost::ptr_map< int, int >
::iterator::value_type, int > 
IsOldPtrMap
typedef boost::variant
< TcpAddress
Address
 Address is a variant of all address types, more coming in future.

Functions

void assert_fail (char const *expr, char const *function, char const *file, long line)
std::string strError (int err)
 Get the error message for a system number err, e.g.
template<class T>
std::auto_ptr< T > make_auto_ptr (T *ptr)
 Convenient template for creating auto_ptr in-place in an argument list.
template<class T>
const Msgoperator<< (const Msg &m, const T &t)
std::ostream & operator<< (std::ostream &o, const Msg &m)
std::string prettyArg (const std::string &, const std::string &)
template<class T>
po::value_semantic * optValue (T &value, const char *name)
 Create an option value.
template<class T>
po::value_semantic * optValue (std::vector< T > &value, const char *name)
 Create a vector value.
po::value_semantic * optValue (bool &value)
 Create a boolean switch value.
template<class Iter>
boost::enable_if< IsOldPtrMap,
typename Iter::value_type * >
::type 
ptr_map_ptr (const Iter &i)
template<class T>
std::ostream & operator<< (std::ostream &o, const Range< T > &r)
template<class T>
std::ostream & operator<< (std::ostream &o, const RangeSet< T > &rs)
template<class T>
T & serializable (T &t)
 Overload for types that do not provide a serialize() member.
template<class T, class U>
SerializablePair< T, U > serializable (std::pair< T, U > &p)
std::ostream & operator<< (std::ostream &, const SessionId &)
std::ostream & operator<< (std::ostream &, const SessionPoint &)
bool operator== (const SessionId &id, const SessionState &s)
template<class T>
shared_ptr< T > make_shared_ptr (T *ptr)
template<class T, class D>
shared_ptr< T > make_shared_ptr (T *ptr, D deleter)
void nullDeleter (void const *)
void split (std::vector< std::string > &out, const std::string &in, const std::string &delims)
 Split 'in' into words using delimiters in 'delims' and put resulting strings into 'out' vector.
std::vector< std::string > split (const std::string &in, const std::string &delims)
 Split 'in' into words using delimiters in 'delims' and return the resulting strings in a vector.
bool operator== (const TcpAddress &x, const TcpAddress &y)
std::ostream & operator<< (std::ostream &os, const TcpAddress &a)
bool operator== (const Url &a, const Url &b)
bool operator!= (const Url &a, const Url &b)
std::ostream & operator<< (std::ostream &os, const Url &url)
std::istream & operator>> (std::istream &is, Url &url)


Detailed Description

This file was automatically generated from the AMQP specification.

Represents a single transaction.

Do not edit.

As such, an instance of this class will hold a list of operations representing the workload of the transaction. This work can be committed or rolled back. Committing is a two-stage process: first all the operations should be prepared, then if that succeeds they can be committed.

In the 2pc case, a successful prepare may be followed by either a commit or a rollback.

Atomicity of prepare is ensured by using a lower level transactional facility. This saves explicitly rolling back all the successfully prepared ops when one of them fails. i.e. we do not use 2pc internally, we instead ensure that prepare is atomic at a lower level. This makes individual prepare operations easier to code.

Transactions on a messaging broker effect three types of 'action': (1) updates to persistent storage (2) updates to transient storage or cached data (3) network writes.

Of these, (1) should always occur atomically during prepare to ensure that if the broker crashes while a transaction is being completed the persistent state (which is all that then remains) is consistent. (3) can only be done on commit, after a successful prepare. There is a little more flexibility with (2) but any changes made during prepare should be subject to the control of the TransactionalStore in use.


Typedef Documentation

typedef boost::variant<TcpAddress> qpid::Address

Address is a variant of all address types, more coming in future.


Function Documentation

template<class T>
std::auto_ptr<T> qpid::make_auto_ptr ( T *  ptr  )  [inline]

Convenient template for creating auto_ptr in-place in an argument list.

po::value_semantic* qpid::optValue ( bool &  value  )  [inline]

Create a boolean switch value.

Presence of the option sets the value.

template<class T>
po::value_semantic* qpid::optValue ( std::vector< T > &  value,
const char *  name 
) [inline]

Create a vector value.

Multiple occurences of the option are accumulated into the vector

template<class T>
po::value_semantic* qpid::optValue ( T &  value,
const char *  name 
) [inline]

Create an option value.

name, value appear after the option name in help like this: <name> (=

) T must support operator <<.

See also:
Options for example of use.

template<class T>
T& qpid::serializable ( T &  t  )  [inline]

Overload for types that do not provide a serialize() member.

It should retrun a wrapper holding a reference to t that implements serialize()

Referenced by qpid::DecoderBase< qpid::amqp_0_10::Codec::Decoder< InIter > >::operator()(), and qpid::EncoderBase< qpid::amqp_0_10::Codec::Size >::operator()().

std::string qpid::strError ( int  err  ) 

Get the error message for a system number err, e.g.

errno.


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