summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/client/SessionImpl.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* QPID-920: allow applications to trigger the sending of a flush to serverGordon Sim2008-04-221-0/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@650640 13f79535-47bb-0310-9956-ffa450edef68
* * raise error when controls other than attached are received on unattached ↵Gordon Sim2008-04-211-3/+5
| | | | | | | | | | channel * corrected exception handling in client and on broker (broker to issue detach) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@650250 13f79535-47bb-0310-9956-ffa450edef68
* QPID-920: send message-accept for acks (as well as completion)Gordon Sim2008-04-211-0/+6
| | | | | | | | * 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/+605
* 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