summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/SubscriptionManager.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QPID-2548: applied patch from francesco emmiGordon Sim2010-04-261-0/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@937990 13f79535-47bb-0310-9956-ffa450edef68
* Add directory to #includeAlan Conway2009-07-141-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793909 13f79535-47bb-0310-9956-ffa450edef68
* Add missing ctor initializer.Alan Conway2009-05-041-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@771389 13f79535-47bb-0310-9956-ffa450edef68
* Applied PIMPL pattern to SubscriptionManager.Alan Conway2009-05-041-94/+35
| | | | | | | Cleaned up some sloppy #includes. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@771366 13f79535-47bb-0310-9956-ffa450edef68
* Apply PIMPL pattern to qpid::client::LocalQueueAlan Conway2009-05-011-3/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@770756 13f79535-47bb-0310-9956-ffa450edef68
* Minor fixes. Alan Conway2009-02-171-2/+6
| | | | | | | | | client/SubscriptionManager: made it thread safe, was causing latencytest to crash with --rate and --time-limit. cluster/Cluster.cpp: don't call cpg_leave during shutdown. Not required and a problem if shutdown was caused by a cpg error. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@745226 13f79535-47bb-0310-9956-ffa450edef68
* Fixed bug in setFlowControl - was recursively calling self.Alan Conway2009-02-171-0/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@745115 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1613: Ensure that the rule registered with the demuxer for LocalQueue ↵Gordon Sim2009-01-231-3/+9
| | | | | | subscriptions is removed when they are cancelled. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@737028 13f79535-47bb-0310-9956-ffa450edef68
* SubscriptionManager and Dispatcher were missing wait() methods meaning that ↵Gordon Sim2008-11-061-0/+5
| | | | | | if start was called there was no way to join with the dispatch thread and shutdown cleanly. Fixed by adding that method. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@711838 13f79535-47bb-0310-9956-ffa450edef68
* Added ability to release messages through the Subscription class (+test)Gordon Sim2008-11-051-0/+3
| | | | | | | | | | Added another mode for managing completion (+test) Fixed regression where bytes credit was not reallocated in windowing mode after an accept/release Fixed regression where subscribe request is issued before listener is registered with dispatcher git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@711698 13f79535-47bb-0310-9956-ffa450edef68
* Added return Message overload of SubscriptionManager get().Alan Conway2008-10-311-0/+7
| | | | | | | Fixed compile error in broker/Vhost.cpp git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@709440 13f79535-47bb-0310-9956-ffa450edef68
* client::SubscriptionManager::findSubscription() throws if not found.Alan Conway2008-10-271-2/+4
| | | | | | | Added progress indicator to boost tests. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@708210 13f79535-47bb-0310-9956-ffa450edef68
* Change 'at' to 'find' to build with older g++ and with MSVCStephen D. Huston2008-10-261-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@707927 13f79535-47bb-0310-9956-ffa450edef68
* Client API change: Centralize access to subscription status, better control ↵Alan Conway2008-10-251-65/+29
| | | | | | | | | | | | | | | | | | | of acquire/accept. client/AckPolicy: removed, functionality moved to Subscription and SubscriptionSettings client/SubscriptionSettings: struct aggregates flow control & accept-acquire parameters for subscribe. client/Subscription: represents active subscription. Query settings, unacked messages, manual accept/acquire client/SubscriptionManager: use AcceptMode, AcquireMode enums rather than confusing bools. Issues addressed by the change: - old use of bool for acceptMode was inverted wrt AMQP enum values, bools are confusing. - old AckPolicy was broken - not possible to access the instance associated with an active subscription - old AckPolicy did not provide a way to do manual acquire, only accept. - setting values on SubscriptionManager to apply to subsequent subscriptions is awkward & error-prone, now can use SubscriptionSettings to control on each subscribe individually. - a subscription is a central concept in AMQP, it deserves to be a class. Subscription and SubscriptionSettings provides a single point for future expansion of interactions with a a Subscription. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@707808 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1340 froM Mick Goulish: preliminary client-side failover support.Alan Conway2008-10-101-0/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@703319 13f79535-47bb-0310-9956-ffa450edef68
* src/qpid/client/SubscriptionManager.cpp: added start().Alan Conway2008-09-051-0/+6
| | | | | | | src/tests* improvements to multi-host test scripts. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@692478 13f79535-47bb-0310-9956-ffa450edef68
* Fixed bug in SubscriptionManager::get() where flush was issued before ↵Gordon Sim2008-07-251-1/+4
| | | | | | waiting and if message showed up after flush completed but before wait was finished there was no credit (due to flush) to deliver it to the waiting client. Added test for thise case. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@679739 13f79535-47bb-0310-9956-ffa450edef68
* Added timeout to SubscriptionManager::get(), LocalQueue::get() and ↵Alan Conway2008-07-011-3/+6
| | | | | | BlockingQueue::get() git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@673158 13f79535-47bb-0310-9956-ffa450edef68
* Additions to the client API:Alan Conway2008-06-251-8/+34
| | | | | | | | - SubscriptionManager::get(queue) to get a single message from a queue. - Set FlowControl per-subscription. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@671655 13f79535-47bb-0310-9956-ffa450edef68
* Tighten up sync-correctness in SubscriptionManager & Dispatcher.Alan Conway2008-05-271-5/+6
| | | | | | | Add a flush to SessionBase_0_10::sync() so it syncs in both directions. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@660643 13f79535-47bb-0310-9956-ffa450edef68
* Changes to Session API:Alan Conway2008-05-261-11/+11
| | | | | | | | | | | - Session is synchronous, no futures. - AsyncSession is async, returns futures. - Conversion functions sync(s) async(s) return a sync/async view of session s. - Connection::newSession - takes name, no timeout - SessionBase::getId - returns SessionId not UUID. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@660258 13f79535-47bb-0310-9956-ffa450edef68
* QPID-920: send message-accept for acks (as well as completion)Gordon Sim2008-04-211-0/+2
| | | | | | | | * AckPolicy now maintains a set of transfered messages for cumulative accepts git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@650159 13f79535-47bb-0310-9956-ffa450edef68
* QPID-920: converted c++ client to use final 0-10 protocolGordon Sim2008-04-201-4/+4
| | | | | | | | | | * connection handler converted to using invoker & proxy and updated to final method defs * SessionCore & ExecutionHandler replace by SessionImpl * simplified handling of completion & results, removed handling of responses git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@649915 13f79535-47bb-0310-9956-ffa450edef68
* Start moving towards final 0-10 spec:Gordon Sim2008-02-211-2/+2
| | | | | | | | | | | | | * marked preview spec as 99-0 to distinguish it from 0-10 (which will now be used for the final version) * modified python client to treat 99-0 as 0-10 for now * modified broker to have two paths for the two different versions: 99-0 uses PreviewConnection, PreviewConnectionHandler and PreviewSessionHandler which are straight copy & pastes of the Connection, ConnectionHandler and SessionHandler now associated with 0-10 (so we can migrate the 0-10 path to the final spec without affecting clients working with the preview version) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@629883 13f79535-47bb-0310-9956-ffa450edef68
* examples/Makefile.am:Alan Conway2008-01-231-1/+2
| | | | | | | | | | | | | | - verify.tar target, tars up verify script for easy transport to installation. examples/examples/pub-sub/verify.in: fixed typeo. examples/verify: don't kill the pub-sub listener, it should exit gracefully. src/qpid/client/Dispatcher.cpp src/qpid/client/SubscriptionManager.cpp - Fix uninitialized autoStop member variable. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@614587 13f79535-47bb-0310-9956-ffa450edef68
* Summary:Alan Conway2007-12-071-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Replaced InProcessBroker with BrokerFixture, uses a full loopback broker for more realistic tests. - Extracted non-generated parts of Session_0_10 into SessionBase. - Sundry small fixes. src/tests/BrokerFixture.h - in process broker with loopback connections. - tests can force a disorderly disconnect. src/qpid/client/Connector.h - back door to private members for BrokerFixture. - close() in destructor to avoid leaks. src/qpid/client/ConnectionImpl.h,cpp: - close() in destructor, to fix hang when destroyed without being closed. src/qpid/client/CompletionTracker.h,.cpp: - Fixed race in close/add. src/qpid/client/SessionBase.h,cpp: - Extracted all non-generated code from Session_0_10 into SessionBase - Added sync() src/tests/exception_test.cpp: Converted to boost & BrokerFixture src/tests/ClientChannelTest.cpp, ClientSessionTest.cpp: Use BrokerFixture git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@602182 13f79535-47bb-0310-9956-ffa450edef68
* Remove start(); not yet safe to send commands while dispatcher is running ↵Gordon Sim2007-12-041-5/+0
| | | | | | concurrently. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@600984 13f79535-47bb-0310-9956-ffa450edef68
* Altered topic test to use the new session api.Gordon Sim2007-11-301-0/+5
| | | | | | | | Exposed start() through the subscription manager in addition to run(). git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@599832 13f79535-47bb-0310-9956-ffa450edef68
* Gordon's patch to fix ack-per-message by SubscriptionManagerAlan Conway2007-11-221-1/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@597499 13f79535-47bb-0310-9956-ffa450edef68
* - set default to pre-acquire for acquire modeCarl C. Trieloff2007-11-211-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@597237 13f79535-47bb-0310-9956-ffa450edef68
* - added confirm mode to perftestCarl C. Trieloff2007-11-211-2/+4
| | | | | | | | - added acquire mode to perftest git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@597228 13f79535-47bb-0310-9956-ffa450edef68
* Added auto-ack and commit-mode control to SubscriptionManager API.Alan Conway2007-11-141-18/+30
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@594879 13f79535-47bb-0310-9956-ffa450edef68
* auto-ack support for perftest.Alan Conway2007-11-071-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@592897 13f79535-47bb-0310-9956-ffa450edef68
* client::SubscriptionManager:Alan Conway2007-11-071-32/+29
| | | | | | | | | | | | | | | | | - Added autoStop support. - Added LocalQueue subscriptions. - Expose AckPolicy settings to user. client::Message: - incoming Messages carry their session for acknowledge perftest: (see perftest --help for details...) - allow multiple consumers. - 3 queue modes: shared, fanout, topic. - set size of messages git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@592869 13f79535-47bb-0310-9956-ffa450edef68
* Fix compile error.Alan Conway2007-11-021-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@591483 13f79535-47bb-0310-9956-ffa450edef68
* Improvements to gsim's SubscriptionManager:Alan Conway2007-11-021-0/+97
- auto-stop mode: run returns when all subscriptions cancelled. - flow control. examples/topic_listener.cpp updated to use SubscriptionManager. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@591388 13f79535-47bb-0310-9956-ffa450edef68