diff options
author | Alan Conway <aconway@apache.org> | 2011-08-25 20:41:28 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2011-08-25 20:41:28 +0000 |
commit | 2fdd2cc2ade41e213ae35818532574bbf40f4a00 (patch) | |
tree | 42fb45022ea08fee157abf50713b452acf5eda5d /cpp/src/qpid/cluster/UpdateClient.h | |
parent | 7f99badd1c330b3a6032b15a13aca1cde81274d3 (diff) | |
download | qpid-python-2fdd2cc2ade41e213ae35818532574bbf40f4a00.tar.gz |
QPID-3384: Enable DTX transactions in a cluster.
- Replicate DTX state to new members joining.
- Use cluster timer for DTX timeouts.
- Incidental: quote nulls in qpid::Msg messages (XIDs often have null characters)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1161742 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/cluster/UpdateClient.h')
-rw-r--r-- | cpp/src/qpid/cluster/UpdateClient.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/cpp/src/qpid/cluster/UpdateClient.h b/cpp/src/qpid/cluster/UpdateClient.h index 21bf6024e0..83d4cfac81 100644 --- a/cpp/src/qpid/cluster/UpdateClient.h +++ b/cpp/src/qpid/cluster/UpdateClient.h @@ -52,7 +52,7 @@ class Decoder; class Link; class Bridge; class QueueObserver; - +class DtxBuffer; } // namespace broker namespace cluster { @@ -88,7 +88,7 @@ class UpdateClient : public sys::Runnable { void update(); void run(); // Will delete this when finished. - void updateUnacked(const broker::DeliveryRecord&); + void updateUnacked(const broker::DeliveryRecord&, client::AsyncSession&); private: void updateQueue(client::AsyncSession&, const boost::shared_ptr<broker::Queue>&); @@ -100,7 +100,7 @@ class UpdateClient : public sys::Runnable { void updateBinding(client::AsyncSession&, const std::string& queue, const broker::QueueBinding& binding); void updateConnection(const boost::intrusive_ptr<Connection>& connection); void updateSession(broker::SessionHandler& s); - void updateTxState(broker::SemanticState& s); + void updateTransactionState(broker::SemanticState& s); void updateOutputTask(const sys::OutputTask* task); void updateConsumer(const broker::SemanticState::ConsumerImpl::shared_ptr&); void updateQueueListeners(const boost::shared_ptr<broker::Queue>&); @@ -112,6 +112,9 @@ class UpdateClient : public sys::Runnable { void updateBridge(const boost::shared_ptr<broker::Bridge>&); void updateQueueObservers(const boost::shared_ptr<broker::Queue>&); void updateObserver(const boost::shared_ptr<broker::Queue>&, boost::shared_ptr<broker::QueueObserver>); + void updateDtxManager(); + void updateDtxBuffer(const boost::shared_ptr<broker::DtxBuffer>& ); + void updateDtxWorkRecord(const broker::DtxWorkRecord&); Numbering<broker::SemanticState::ConsumerImpl*> consumerNumbering; |