summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/SubscriptionManager.h
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'move_public_h_to_include' into trunkAlan Conway2009-07-151-286/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@794325 13f79535-47bb-0310-9956-ffa450edef68
* Added #include Thread.h for backwards compatibility.Alan Conway2009-05-051-5/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@771721 13f79535-47bb-0310-9956-ffa450edef68
* Applied PIMPL pattern to SubscriptionManager.Alan Conway2009-05-041-23/+21
| | | | | | | Cleaned up some sloppy #includes. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@771366 13f79535-47bb-0310-9956-ffa450edef68
* Changes to build DLLs instead of static libs on Windows; primarily added ↵Stephen D. Huston2009-03-121-24/+25
| | | | | | decorators to exported names. Fixes QPID-1673 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@753014 13f79535-47bb-0310-9956-ffa450edef68
* Minor fixes. Alan Conway2009-02-171-8/+5
| | | | | | | | | 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-6/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@745115 13f79535-47bb-0310-9956-ffa450edef68
* Added some failover capable testsGordon Sim2008-11-141-10/+0
| | | | | | | | Added grantCredit() method to subscription to allow simpler control of message delivery git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@714065 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
* QPID-1294 (Johnathan Robie) Improved doxygen generation.Alan Conway2008-11-051-0/+59
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@711702 13f79535-47bb-0310-9956-ffa450edef68
* Added return Message overload of SubscriptionManager get().Alan Conway2008-10-311-1/+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/+2
| | | | | | | 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
* Client API change: Centralize access to subscription status, better control ↵Alan Conway2008-10-251-58/+70
| | | | | | | | | | | | | | | | | | | 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
* cluster_test: Unit test for Tx state replication.Alan Conway2008-10-201-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@706400 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1340 froM Mick Goulish: preliminary client-side failover support.Alan Conway2008-10-101-3/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@703319 13f79535-47bb-0310-9956-ffa450edef68
* Client-side support for amq.faiover exchange. Connection::getKnownBrokers ↵Alan Conway2008-10-091-3/+3
| | | | | | provides latest list. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@703237 13f79535-47bb-0310-9956-ffa450edef68
* src/qpid/client/SubscriptionManager.cpp: added start().Alan Conway2008-09-051-2/+11
| | | | | | | 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
* Added timeout to SubscriptionManager::get(), LocalQueue::get() and ↵Alan Conway2008-07-011-3/+16
| | | | | | 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-6/+49
| | | | | | | | - 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
* Updated doxygen comments in qpid/client/*.hAlan Conway2008-06-091-3/+12
| | | | | | | Changed request-response example to use SubscriptionManager like the others. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@665891 13f79535-47bb-0310-9956-ffa450edef68
* Tighten up sync-correctness in SubscriptionManager & Dispatcher.Alan Conway2008-05-271-1/+1
| | | | | | | 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-5/+5
| | | | | | | | | | | - 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/+4
| | | | | | | | * 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-5/+5
| | | | | | | | | | * 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-3/+3
| | | | | | | | | | | | | * 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
* Some minor changes to doc; primarily aimed at making the list of classesGordon Sim2008-01-231-0/+5
| | | | | | | | listed as client API more useful. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@614551 13f79535-47bb-0310-9956-ffa450edef68
* Summary:Alan Conway2007-12-071-11/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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-3/+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/+4
| | | | | | | | 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
* - set default to pre-acquire for acquire modeCarl C. Trieloff2007-11-211-2/+2
| | | | 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-0/+8
| | | | | | | | - 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-0/+15
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@594879 13f79535-47bb-0310-9956-ffa450edef68
* client::SubscriptionManager:Alan Conway2007-11-071-25/+36
| | | | | | | | | | | | | | | | | - 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
* Improvements to gsim's SubscriptionManager:Alan Conway2007-11-021-0/+93
- 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