Files for Async Store interface layer (NOTE, read carefully - license issues)
-----------------------------------------------------------------------------
Key: QPID-2017
URL: https://issues.apache.org/jira/browse/QPID-2017
Project: Qpid
Issue Type: Task
Components: C++ Broker
Reporter: Kim van der Riet
These are the interface layer files for the C++ async store. They are
encumbered with BDB, which is used to save the broker state. For this reason,
these files are LGPL - and may not be checked in to subversion until BDB is
replaced with an appropriate ASF-compatible replacement. Then these files may
be re-licensed with an ASF license.
The StorePlugin.cpp file contains the actual plugin code; this in turn creates
an instance of MessageStoreImpl, subclassed from qpid::broker::MessageStore.
MessageStoreImpl: This class is the centre of the async store and is
responsible for coordinating recovery, initialization, transactions (both local
and distributed), flow-to-disk loading and unloading and persisting broker
state (queues, bindings etc.) in BDB. This class is in need of a tidy-up and
refactorization - it has become rather large and unwieldy.
JournalImpl: This is the implementation of the async store. The header file is
provided for context, as this is used throughout the MessageStoreImpl class.
DataTokenImpl: This is also a part of the async store implementation: an
instance of this class tracks each stored message through the asyncronous write
cycle, and can be used to track its status and find information such as the
record ID (rid) in the store.
TxnCtxt: This class is the transaction context; an instance of this class is
created for each transaction.
The remaining files are for various data structures which are reasonably
straight forward to understand.
ASF legal recommends cleaning the files, then re-attaching to the JIRA without
BDB code & with ASL headers before then committing to svn.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]