summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/SessionImpl.h
Commit message (Collapse)AuthorAgeFilesLines
* QPID-2612: Fix to windows build from Chuck RolkeGordon Sim2010-05-181-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@945778 13f79535-47bb-0310-9956-ffa450edef68
* QPID-664: allow safe closing of session as part of handling a session exceptionGordon Sim2010-04-271-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@938460 13f79535-47bb-0310-9956-ffa450edef68
* Separate FailoverListener from client::Connection.Alan Conway2009-10-261-8/+1
| | | | | | | | | | | | | | | | | | client::ConnectionImpl used to contain a FailoverListener to subscribe for updates on the amq.failover exchange. This caused some lifecycle issues including memory leaks. Now FailoverListener is a public API class that the user must create associated with a session to get known-broker updates. Removed the weak_ptr logic in client::SessionImpl which was only required because of FailoverListener. Made SessionImpl::close() idempotent. Gets rid of spurious warning messages in some tests. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@829931 13f79535-47bb-0310-9956-ffa450edef68
* Fix problems with sessions going out of scope and session numbers wrapping ↵Alan Conway2009-10-211-0/+5
| | | | | | | | | | | | | around. Fixes QPID-1789: sessions that go out of scope without being detached will detach themselves. Also fixes several issues that arise when the session numbers wraps around and start re-using old numbers. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@828108 13f79535-47bb-0310-9956-ffa450edef68
* Fixed: cluster udpate did not presever deliver-properties.exchange on messages.Alan Conway2009-10-051-0/+4
| | | | | | | | Also minor improvements: - Improved debug logging for consumers. - Cluster tests scripts work with latest corosync: don't check/set ais group. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@821830 13f79535-47bb-0310-9956-ffa450edef68
* QPID-664: Initial checkin of high level messaging api for c++Gordon Sim2009-08-251-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@807731 13f79535-47bb-0310-9956-ffa450edef68
* Add needed extern decorators for Windows; applies patch QPID-2061-1.patch in ↵Stephen D. Huston2009-08-201-1/+2
| | | | | | QPID-2061 git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@806384 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2058: Add a flag to the version of SessionImpl::send() that takes a ↵Gordon Sim2009-08-191-1/+9
| | | | | | FrameSet as content. This flag indicates whether the frames in that frame set are valid for sending over the connection or whether they should be reframed. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@805904 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
* Remove useless qpid/shared_ptr.h wrapper.Alan Conway2009-05-061-6/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@772294 13f79535-47bb-0310-9956-ffa450edef68
* Add in management statistics for client flow control.Andrew Stitcher2009-02-031-1/+0
| | | | | | | Really fixed Client library to count credit the same way the broker does. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@740433 13f79535-47bb-0310-9956-ffa450edef68
* Correction for: start a broker in cluster, send messages that are flow to ↵Carl C. Trieloff2009-01-301-1/+6
| | | | | | disk, then join a broker to the cluster. Then consume from the new node. Cotent released messages where loosing content. This patch corrects that. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@739378 13f79535-47bb-0310-9956-ffa450edef68
* Producer side rate throttling:Andrew Stitcher2009-01-271-1/+19
| | | | | | | | | This uses the Message.Flow command to send credit from broker to client to ensure that the client doesn't exceed a rate configured on the broker per session. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@738247 13f79535-47bb-0310-9956-ffa450edef68
* Added ability to release messages through the Subscription class (+test)Gordon Sim2008-11-051-0/+1
| | | | | | | | | | 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
* Various fixes arising from testing client failover:Gordon Sim2008-11-031-1/+1
| | | | | | | | | | | | | | | | | | | | * introduced new exception type for signalling connection failure (as distinct from any logical connection errors) * ConnectionImpl::closeInternal(): take copy of session map to prevent concurrent modification (by the same thread) as sessions are deleted and erase themselves. * ConnectionImpl::shutdown: hold lock before calling closeInternal(); mark handler failed before informing sessions of failure * SessionImpl::connectionBroker(): remove code as its rather meaningless * Don't swallow exceptions in Dispatcher * Handle exceptions in FailoverListener * Take weak_ptr to ConnectionImpl on constructor of Connector, then convert to shared_ptr when 'receiver' thread is started. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@710106 13f79535-47bb-0310-9956-ffa450edef68
* Reverted a small part of r703237 as it causes deadlocks under load. Session ↵Gordon Sim2008-10-131-0/+9
| | | | | | controls can _not_ be subject to bounds checking on the queue of outgoing frames as is done for commands. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@704245 13f79535-47bb-0310-9956-ffa450edef68
* Client-side support for amq.faiover exchange. Connection::getKnownBrokers ↵Alan Conway2008-10-091-5/+13
| | | | | | provides latest list. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@703237 13f79535-47bb-0310-9956-ffa450edef68
* SessionImpl using ExceptionHolder to generate correctly typed exceptions..Alan Conway2008-10-081-9/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@702681 13f79535-47bb-0310-9956-ffa450edef68
* rubygen/framing.0-10/constants.rb: create functions for all 3 exception ↵Alan Conway2008-10-081-2/+8
| | | | | | | | | | subclasses. client: added session suspend/resume functions, resume not implemented yet. ClientSessionTest: enabled compilation of suspend/resume tests with expected failures. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@702674 13f79535-47bb-0310-9956-ffa450edef68
* Cluster support for copying shared broker state to new members.Alan Conway2008-09-101-0/+1
| | | | | | | | | | | | cluster/DumpClient: Copies broker shared state to a new broker via AMQP. broker/*Registry, Queue, QueueBindings: Added iteration functions for DumpClient broker/SemanticState.cpp: Allow DumpClient to sidestep setting of delivery-properties.exchange. client/Connection.h: Added Connection::open(Url) overload. client/SessionImpl: Added send(AMQBody, FrameSet) overload for forwarding broker messages. tests/cluster_test.cpp: Added test for DumpClient copying shared state between brokers. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@693918 13f79535-47bb-0310-9956-ffa450edef68
* Updated doxygen comments in qpid/client/*.hAlan Conway2008-06-091-0/+1
| | | | | | | 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
* Removed obsolete src/qpid/client/SessionImpl.h .cppAlan Conway2008-05-271-1/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@660715 13f79535-47bb-0310-9956-ffa450edef68
* Changes to Session API:Alan Conway2008-05-261-9/+6
| | | | | | | | | | | - 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-974: allow the size of the queue of outgoing frames to be restrictedGordon Sim2008-04-291-1/+4
| | | | | | | | QPID-544: tidy up configuration (ensuring desired settings are used correctly, allowing tcp socket options to be set etc) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@652083 13f79535-47bb-0310-9956-ffa450edef68
* Generate c++ code from final 0-10 specGordon Sim2008-04-241-11/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@651423 13f79535-47bb-0310-9956-ffa450edef68
* QPID-920: allow applications to trigger the sending of a flush to serverGordon Sim2008-04-221-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@650640 13f79535-47bb-0310-9956-ffa450edef68
* QPID-920: send message-accept for acks (as well as completion)Gordon Sim2008-04-211-1/+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-0/+188
* 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