summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/SessionImpl.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update from trunk r1375509 through r1450773asyncstoreKim van der Riet2013-02-281-74/+34
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1451244 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3858: Updated branch - merged from trunk r.1368650Kim van der Riet2012-08-031-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1368910 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3858: Updated branch - merged from trunk r.1333987Kim van der Riet2012-05-041-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1334037 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3630: remove additional code in client.Kenneth Anthony Giusti2012-01-131-73/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1231222 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3355: Declare the wait while waiting for completion. Patch from Jason ↵Gordon Sim2011-07-131-0/+1
| | | | | | Dillaman. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1145936 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2631: For blocking Bounds::expand() calls, only increase the current ↵Gordon Sim2010-05-271-1/+1
| | | | | | count when there is space. In SessionImpl::send() expand bounds before queueing frame. Expand bounds for all frames sent (including connection frames and cluster specific frames). git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@948936 13f79535-47bb-0310-9956-ffa450edef68
* QPID-664: allow safe closing of session as part of handling a session exceptionGordon Sim2010-04-271-0/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@938460 13f79535-47bb-0310-9956-ffa450edef68
* Fix "Session was not closed cleanly" warnings in a cluster broker giving an ↵Alan Conway2010-03-251-4/+4
| | | | | | update. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@927384 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2347: Signal deletion of queue to active subscribers via a ↵Gordon Sim2010-01-221-0/+1
| | | | | | resource-deleted exception. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@902055 13f79535-47bb-0310-9956-ffa450edef68
* Make Session::close and Connection::close no-throwAlan Conway2009-10-271-4/+9
| | | | | | | close() will often be called in destructors and so should not throw exceptions. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@830268 13f79535-47bb-0310-9956-ffa450edef68
* Separate FailoverListener from client::Connection.Alan Conway2009-10-261-22/+7
| | | | | | | | | | | | | | | | | | 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
* Ignore exceptions from detach() in ~SessionImpl.Alan Conway2009-10-261-3/+5
| | | | | | | | Otherwise clients can crash in terminate() if there is an error, e.g. a TransportFailure. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@829912 13f79535-47bb-0310-9956-ffa450edef68
* Fix problems with sessions going out of scope and session numbers wrapping ↵Alan Conway2009-10-211-3/+9
| | | | | | | | | | | | | 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-6/+12
| | | | | | | | 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/+10
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@807731 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2058: Add a flag to the version of SessionImpl::send() that takes a ↵Gordon Sim2009-08-191-2/+2
| | | | | | 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
* If frameset being sent in cluster update is incomplete (i.e. content has ↵Gordon Sim2009-06-111-2/+17
| | | | | | been released) then send frames as is (will just be header). git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@783599 13f79535-47bb-0310-9956-ffa450edef68
* Ensure that messages sent by clusters update client are correctly fragmented ↵Gordon Sim2009-06-101-10/+19
| | | | | | based on the max frame size for the session. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@783571 13f79535-47bb-0310-9956-ffa450edef68
* Remove useless qpid/shared_ptr.h wrapper.Alan Conway2009-05-061-3/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@772294 13f79535-47bb-0310-9956-ffa450edef68
* In qpid::client::SessionImplManuel Teira Paz2009-03-051-1/+2
| | | | | | | | | | Force the construction of a sys::ExceptionHolder to avoid the Sun Compiler to throw an ambiguity error, since it things that sys::ExceptionHolder and ClosedException are convertible one to the other. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@750488 13f79535-47bb-0310-9956-ffa450edef68
* Send session.detached back to server in response to a detach.Gordon Sim2009-02-261-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@748286 13f79535-47bb-0310-9956-ffa450edef68
* Add in management statistics for client flow control.Andrew Stitcher2009-02-031-10/+6
| | | | | | | 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-0/+10
| | | | | | 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-13/+88
| | | | | | | | | 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
* Removed BodyHolder: minor performance improvement, opens the way for more ↵Alan Conway2009-01-221-2/+2
| | | | | | efficient memory management. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@736783 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1478: ensure concurrent publishers work correctly (as well as reported ↵Gordon Sim2008-11-241-1/+1
| | | | | | assertion, the test uncovered a potential deadlock due to bounds being expanded before frames were added to queue). git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@720251 13f79535-47bb-0310-9956-ffa450edef68
* Added ability to release messages through the Subscription class (+test)Gordon Sim2008-11-051-0/+10
| | | | | | | | | | 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-2/+3
| | | | | | | | | | | | | | | | | | | | * 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
* Fix intermittent hanging where two threads are waiting for completions on ↵Gordon Sim2008-10-311-1/+1
| | | | | | the same session. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@709429 13f79535-47bb-0310-9956-ffa450edef68
* Reverted a small part of r703237 as it causes deadlocks under load. Session ↵Gordon Sim2008-10-131-2/+16
| | | | | | 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-27/+32
| | | | | | 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-35/+29
| | | | 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-15/+15
| | | | | | | | | | 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
* Rename size() to encodedSize() for encoded types to allow std collection ↵Alan Conway2008-10-071-3/+3
| | | | | | interfaces for types like FieldTable and Array. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@702551 13f79535-47bb-0310-9956-ffa450edef68
* Resolve QPID-1311Stephen D. Huston2008-10-021-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@701231 13f79535-47bb-0310-9956-ffa450edef68
* DumpClient send connections & session IDs to new members.Alan Conway2008-09-211-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@697446 13f79535-47bb-0310-9956-ffa450edef68
* Moved PollableCondition, PollableQueue and to sys. Fixed cluster shutdown ↵Alan Conway2008-09-111-1/+1
| | | | | | | | | | | | | | issues. sys/PollableCondition: is a generic mechansim to poll for non-IO events in the Poller. sys/PollableQueue: is a thread-safe queue template that can be dispatched from the Poller when there are items on the queue. It uses PollableCondition. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@694243 13f79535-47bb-0310-9956-ffa450edef68
* Implementation of AMQP over RDMA protocols (Infiniband)Andrew Stitcher2008-09-111-2/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@694143 13f79535-47bb-0310-9956-ffa450edef68
* Cluster support for copying shared broker state to new members.Alan Conway2008-09-101-0/+44
| | | | | | | | | | | | 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
* Generate c++ enum types for AMQP enums in framing/enum.h.Alan Conway2008-09-091-3/+3
| | | | | | | Modified enum scheme to avoid name clashes: namespace amqp_class { EnumName { ENUM_NAME_X=1, ENUM_NAME_X=2 ...}}; git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@693465 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1198 (Partial): replace all uses of u_intX_t with uintX_tAndrew Stitcher2008-07-291-5/+5
| | | | | | | | | Patches from Manuel Teira. The u_int* versions are not available in the Sun header files. In any case using only uint* is more consistent git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@680828 13f79535-47bb-0310-9956-ffa450edef68
* Improved text and rasied severity of log entry when client sessions are ↵Gordon Sim2008-07-021-1/+1
| | | | | | deleted without first being closed. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@673359 13f79535-47bb-0310-9956-ffa450edef68
* Propagate error messages across the Demux between network & user threads.Alan Conway2008-06-121-1/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@667205 13f79535-47bb-0310-9956-ffa450edef68
* Added exceptions to sys::Waitable.Alan Conway2008-06-061-6/+8
| | | | | | | | Fixed client side deadlock involving client::Bounds. Fixed incorrect exception messages during connection shutdown. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@664114 13f79535-47bb-0310-9956-ffa450edef68
* Improve performance of synchronous publication by not requesting ↵Gordon Sim2008-06-021-1/+1
| | | | | | | | | | known-completed response for every completed sent. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@662561 13f79535-47bb-0310-9956-ffa450edef68
* Changes to Session API:Alan Conway2008-05-261-31/+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
* Fix for large messages.Gordon Sim2008-05-141-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@656331 13f79535-47bb-0310-9956-ffa450edef68
* QPID-974: allow the size of the queue of outgoing frames to be restrictedGordon Sim2008-04-291-17/+29
| | | | | | | | 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-8/+18
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@651423 13f79535-47bb-0310-9956-ffa450edef68