summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/broker/amqp/Outgoing.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QPID-7207: remove cpp and python subdirs from svn trunk, they have migrated ↵Robert Gemmell2016-07-051-373/+0
| | | | | | to their own git repositories git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1751566 13f79535-47bb-0310-9956-ffa450edef68
* QPID-7329: Merge branch 'github/pr/10' into trunkGordon Sim2016-06-281-1/+15
| | | | | | Closes #10 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1750587 13f79535-47bb-0310-9956-ffa450edef68
* feat(disposition): support undeliverable-here in modified outcomesGordon Sim2016-06-271-5/+26
| | | | | | | | | | Previously, specifying `undeliverable-here` as `true` in a modified outcome simply resulted in the message being rejected. This patch adds tracking to the outgoing link management in order to not redeliver messages to links that indicate that messages are not deliverable there. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1750369 13f79535-47bb-0310-9956-ffa450edef68
* QPID-7010: ignore updates on deliveries we have already settledGordon Sim2016-01-211-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1726098 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6870: qpidd does not at present have facility to track deliverability ↵Gordon Sim2015-11-191-2/+9
| | | | | | to individual links, so treat undeliverable-here as rejection git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1715199 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4710: [AMQP 1.0] Support for transactions in qpid::messaging C++ client.Alan Conway2015-02-271-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implements the "transactional retire and settle immediately" option for transactions as specified in AMQP 1.0 in the qpid::messaging C++ client. NOTE: Transactions over AMQP 1.0 require proton 0.9 or greater. With older versions, attempting a transactions over AMQP 1.0 will raise a link-detached exception "Node not found: tx-transaction" 1. Added descriptor list to Variant with support in Encoder and PnData. Required to support transactions, need to be able to create described lists. Variant changes are source and binary compatible. A Variant now has a Variant::List of descripors which can be numeric or string. Nested descriptors are implemented by putting multiple descriptors in the list. Other minor changes: - Variant refactor: don't delete impl on every assignment. - Add Variant constructors that take a string encoding. (new constructors, not defaulted arguments, so the change is binary and source compatible.) - Growable buffer support for Encoder. - Printing described Variant prints descriptors in form @descriptor value 2. Added transaction support to AMQP 1.0 client code Added messaging/amqp/Transaction.h,cpp: transaction logic - communicate with coordinator, send declare/dischange messages. - add tx state info to transfers and acknowledgements. - Sync session after discharge. - A transactional session automatically acks any message retrieved by fetch/get to bring them into the transaction. This is consistent the 0-10 client. Minor fixes to existing client code: - Fix use of pn_drain API in C++ client to work with C++ and Java brokers. - Make amqp::Exception derive from qpid::Exception 3. Fixes to existing broker code: - Incoming.cpp fix: start async completion before processing message. - Delay accept of dischage message till commit is complete. - newSession - handle failover during session creation. 4. Added tests interop_tests.py: transaction tests that can run against an external broker, see comments. ha_tests.py: Enable transaction tests over AMQP 1.0. Minor test fixes: - brokertest.py don't set default logging if QPID_LOG env vars set. - brokertest.py Pass kwargs to broker() create function. - qpid-receive: capacity should never be larger than message count. - Accept user:pass as well as user/pass in Url. - brokertest.py: Always do a ready() check on all brokers. If proton < 0.9 is used, transaction tests will be skipped or will downgrade to the amqp0-10 protocol with a printed warning. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1662743 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6321: handle change to pn_delivery_tag_t in 0.9Gordon Sim2015-01-191-0/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1653005 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6274: Delete subscription queue immediately on link closeGordon Sim2014-12-171-4/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1646260 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4710: Initial support for broker side AMQP 1.0 local transactions ↵Gordon Sim2014-10-271-1/+7
| | | | | | (single txn per session, single session per txn to begin with) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1634598 13f79535-47bb-0310-9956-ffa450edef68
* QPID-6021: better batchingGordon Sim2014-08-201-27/+21
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1619252 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5667: C++ broker: QMF subscribe events are not raised with AMQP 1.0Alan Conway2014-04-071-1/+1
| | | | | | | The raise event logic for subscribe/unsubscribe events was in 0-10 specific code. Moved it into Queue.cpp so events are generated regardless of protocol. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1585587 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5467: fix handling of delete-on-closeGordon Sim2014-01-101-1/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1557272 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5248: cleanup subscription queue if needed on explicit detachGordon Sim2013-10-221-0/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1534594 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5232: make subscriptions unreliable and autodeleted by defaultGordon Sim2013-10-151-2/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1532308 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5229: implement release and rejectGordon Sim2013-10-151-2/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1532307 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5170: if peer settles without setting state, treat as acceptGordon Sim2013-09-241-1/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1525941 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5122: QPID-5134: fix build on windows by avoiding use of templated ↵Gordon Sim2013-09-121-6/+9
| | | | | | Buffer method (don't need variable sized delivery tag) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1522499 13f79535-47bb-0310-9956-ffa450edef68
* QPID-5122: cleaner encoding of index for delivery tagsGordon Sim2013-09-101-4/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1521433 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4978: add support for reliability optionGordon Sim2013-08-281-2/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1518182 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4948: enable browsingGordon Sim2013-08-281-2/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1518181 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4670: Move to proton 0.5, remove dummy string in address for dynamic nodesGordon Sim2013-08-281-5/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1518180 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4976: support standard lifetime policiesGordon Sim2013-07-101-8/+17
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1501768 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4917: allow shared topic subscriptionsGordon Sim2013-06-121-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1492311 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4819: ensure exclusive lock is released when link is detached (allowing ↵Gordon Sim2013-05-081-0/+1
| | | | | | queue to be deleted git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1480238 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4586: some management related tweaks and fixesGordon Sim2013-03-181-3/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1457898 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4586: add ability to have qpidd establish outgoing connectionsGordon Sim2013-03-141-21/+29
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1456621 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4558: Selectors for C++ brokerAndrew Stitcher2013-03-041-1/+8
| | | | | | | | - Added in amqp 1.0 support that uses a filter for the selector - This change requires at least qpid-proton 0.4 (or a lot of warning messages are produced by the broker) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1452524 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4460: Replenish credit to cover specified prefetch if it is drainedGordon Sim2012-11-231-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1412961 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4368: Added support for subject filtering on queuesGordon Sim2012-11-171-0/+52
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1410750 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4368: Pluggable AMQP 1.0 implementation for broker and clientGordon Sim2012-10-191-0/+191
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1400178 13f79535-47bb-0310-9956-ffa450edef68