summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/SessionState.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update from trunk r1375509 through r1450773asyncstoreKim van der Riet2013-02-281-25/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1451244 13f79535-47bb-0310-9956-ffa450edef68
* WIP - async store interface working for configuration (adding and removing ↵Kim van der Riet2012-10-181-1/+1
| | | | | | queues, links and exchanges) and for enqueues and dequeues of messages. Transactions are not yet included, and hence some tests will fail. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1399662 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3858: Updated code to include recent refactoring by Gordon (gsim) - see ↵Kim van der Riet2012-08-271-14/+27
| | | | | | QPID-4178. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1377715 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-3630: remove additional code in client.Kenneth Anthony Giusti2012-01-131-2/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1231222 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3630: remove deprecated rate limiting featureKenneth Anthony Giusti2012-01-131-87/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1231221 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3417: C++ broker - support adding arrival timestamp to received messages.Kenneth Anthony Giusti2011-10-121-0/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1182490 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3502: Ensure accepts are sent when required for asynchronously ↵Gordon Sim2011-09-231-3/+1
| | | | | | completed messages git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1174800 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3394: move object copy after changing object state, not before.Kenneth Anthony Giusti2011-08-041-3/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1153966 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3121: Cluster management inconsistency when using persistent store.Alan Conway2011-06-231-0/+6
| | | | | | | | | | | | | | | | | With the recent changes to asynchronous completion, completeRcvMsg can be called immediately by the thread that enqueues the message or deferred as an IO Callback till after journal threads are done with the message. The choice between these two options is unpredicatable, so the ordering of management events generated during completeRcvMsg unpredictalbe and can cause an inconsistency error when completeRcvMsg updates connection stats. The fix is to mark completeRcvMsg as a cluster-unsafe scope so no management messages will be generated regardless of how it is called. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1138874 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3252Charles E. Rolke2011-05-261-1/+3
| | | | | | | | Touch up a compile failure when assert() compiles to nothing, leaving an "unused" variable. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1127947 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3252: flush msgs when sync requested.Kenneth Anthony Giusti2011-05-111-5/+51
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1101864 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3197: prevent async command completer from accessing session's ↵Kenneth Anthony Giusti2011-04-111-1/+21
| | | | | | connection when session is detached git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1091167 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3073: fix to allow older versions of boost to compile.Kenneth Anthony Giusti2011-03-081-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1079590 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3073: refactor to eliminate locks, malloc, and map insert/remove in ↵Kenneth Anthony Giusti2011-03-081-91/+55
| | | | | | receive path. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1079385 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2935: merge producer flow control (C++ broker).Kenneth Anthony Giusti2011-02-191-23/+185
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1072356 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3045 - sporadic failure of cluster_tests.ShortTests.test_route_updateAlan Conway2011-02-081-3/+10
| | | | | | | | | | | Sporadically the test was failing because the session associated with an inter-broker bridge was created out of order with other objects. This is unlikely to cause a fatal cluster inconsistency in practice but it has been corrected in any case. The fix was to delay creation of the management object for a bridge session till a point which is consistent on all cluster members. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1068554 13f79535-47bb-0310-9956-ffa450edef68
* Give timer tasks a name for logging purposes.Alan Conway2010-08-261-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@989925 13f79535-47bb-0310-9956-ffa450edef68
* Disable non-0 session timeouts.Alan Conway2010-08-031-0/+5
| | | | | | | | | | Since session resume is not fully implemented, non-0 session timeouts are of no use. Moreover the partial implementation causes problems in a cluster as stale sessions kept alive by a timeout can interfere with failover and updates. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@981933 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2688: ensure that unacked messages are requeued before autodeletion ↵Gordon Sim2010-06-221-0/+1
| | | | | | occurs when session closes git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@956988 13f79535-47bb-0310-9956-ffa450edef68
* Code cleanup Ted Ross2010-04-231-1/+1
| | | | | | | | | | - Removed IdAllocator (it's no longer needed) - Cleaned up the calls to ManagementAgent::addObject to handle durable objects - Removed the deferred call to addObject for durable objects - Removed unneeded calls to self._checkClosed() in qmf.console.Agent git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@937516 13f79535-47bb-0310-9956-ffa450edef68
* Implementation of QPID-2509 (Remove message staging from C++ broker)Kim van der Riet2010-04-151-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@934463 13f79535-47bb-0310-9956-ffa450edef68
* Optimized handling of accepts and completions.Alan Conway2009-08-121-2/+1
| | | | | | | | | | SemanticState::accept/completed now make a single pass through the SequenceSet of commands and the unacked DeliveryRecord list in parallel, rather than doing a pass through unacked for every range in the SequenceSet. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@803655 13f79535-47bb-0310-9956-ffa450edef68
* Change all broker users of broker::Timer to use sys::TimerAndrew Stitcher2009-07-301-9/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@799273 13f79535-47bb-0310-9956-ffa450edef68
* Add directory to #includeAlan Conway2009-07-141-8/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793909 13f79535-47bb-0310-9956-ffa450edef68
* Reverted checkins 793119, 793120, 793121, 793122 because of problems with ↵Kim van der Riet2009-07-131-8/+9
| | | | | | heartbeats and the store tests. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793602 13f79535-47bb-0310-9956-ffa450edef68
* Change all broker users of broker::Timer to use sys::TimerAndrew Stitcher2009-07-101-9/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793121 13f79535-47bb-0310-9956-ffa450edef68
* Performance improvements in AggregateOutput and SemanticState.Alan Conway2009-06-161-6/+6
| | | | | | | | | | | | | | Replaced AggregateOutput hierarchy with a flat list per connection holding only the OutputTasks that are potentially active. Tasks are droped from the list as soon as they return false, and added back when they may have output. Inlined frequently-used SequenceNumber functions. Replace std::list in QueueListeners with std::vector. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@785408 13f79535-47bb-0310-9956-ffa450edef68
* Plumbed in an a connection abort operation to the OutputHandlerAndrew Stitcher2009-06-081-1/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@782649 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1843 - Cleaned up the interface to the broker's internal management agent.Ted Ross2009-05-111-5/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@773570 13f79535-47bb-0310-9956-ffa450edef68
* Changed the producer rate limit timer callbackAndrew Stitcher2009-02-241-5/+9
| | | | | | | | so that it generates a callback serialised with the connection git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@747587 13f79535-47bb-0310-9956-ffa450edef68
* Fixed issue with producer flow control in a cluster.Alan Conway2009-02-241-6/+11
| | | | | | | | | | | | | | | | | | Producer flow control uses a Timer and other clock-based calculations to send flow control commands. These commands are not predictably ordered from the clusters point of view. Added getClusterOrderProxy() to SessionState. In a cluster it returns a proxy that defers sending a command to the client until it is multicast to the cluster. In a stand alone broker it is just the normal proxy. Updated producer flow control to use this proxy. Cluster flow control is turned off in shadow connections. Only the directly connected node does flow control calculations and multicasts the commands to send. All nodes sending of the commands thru SessionState to ensure consistent session state (e.g. command numbering.) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@747528 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1674 Mick Goulish: Fixes an error caused by a string going out of scope ↵Alan Conway2009-02-231-0/+1
| | | | | | just before ForkedBroker startup. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@747162 13f79535-47bb-0310-9956-ffa450edef68
* Fixes to producer flow control to reduce the numberAndrew Stitcher2009-02-041-22/+22
| | | | | | | | | of flow messages sent to the client and to eliminate a concurrency issue updating the broker flow control state. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@740933 13f79535-47bb-0310-9956-ffa450edef68
* Add in management statistics for client flow control.Andrew Stitcher2009-02-031-27/+33
| | | | | | | 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
* Send client property indicating that client supportsAndrew Stitcher2009-02-021-2/+6
| | | | | | | | | producer throttling in the Connection.OpenOK message. Broker only tries to apply flow control to client if it has received the property in the Connection.OpenOK message. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@740135 13f79535-47bb-0310-9956-ffa450edef68
* Producer side rate throttling:Andrew Stitcher2009-01-271-17/+93
| | | | | | | | | 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
* Use special management ids for objects used in state transfer to new ↵Gordon Sim2009-01-231-1/+4
| | | | | | | | | members. This prevents the ids getting out of sync across the cluster and allows management methods to be used reliably. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@737203 13f79535-47bb-0310-9956-ffa450edef68
* Removed BodyHolder: minor performance improvement, opens the way for more ↵Alan Conway2009-01-221-2/+1
| | | | | | efficient memory management. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@736783 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1567: added 'exactly-once' guarantee to asynchronous replication of ↵Gordon Sim2009-01-201-6/+22
| | | | | | | | | | | | queue state * altered replication protocol to detect and eliminate duplicates * added support for acknowledged transfer over inter-broker bridges * added option to qpid-route to control this git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@736018 13f79535-47bb-0310-9956-ffa450edef68
* OutputControl and subclasses: added giveReadCredit() for IO level flow control.Alan Conway2008-12-081-0/+5
| | | | | | | Cluster: Set read credit limit for cluster connections. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@724233 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1413: disable output before sending detachGordon Sim2008-11-061-2/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@711931 13f79535-47bb-0310-9956-ffa450edef68
* Refactored DeliveryRecord and delivery path to remove some redundant code.Gordon Sim2008-10-211-4/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@706811 13f79535-47bb-0310-9956-ffa450edef68
* Made expireTime an optional property of session (mgmt)Ted Ross2008-10-081-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@702990 13f79535-47bb-0310-9956-ffa450edef68
* Enabled management, add cluster shutdown command.Alan Conway2008-09-251-25/+9
| | | | | | | | Remove dead Handler methods in Cluster. Fixed SessionException handling in broker, was throwing some SessionExceptions as "unknown exception" git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@698945 13f79535-47bb-0310-9956-ffa450edef68
* Clean up unused members/testsAlan Conway2008-09-191-2/+0
| | | | | | | | qpid/broker/SemanticState.h,.cpp,SessionState.h: removed unused members. tests/DumpClientTest.cpp: unused, remove. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@697075 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1274 - Changed C++ namespace for generated management code. Improved ↵Ted Ross2008-09-151-7/+8
| | | | | | efficiency of generated functions to use const references for non-simple types. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@695511 13f79535-47bb-0310-9956-ffa450edef68
* Moved PollableCondition, PollableQueue and to sys. Fixed cluster shutdown ↵Alan Conway2008-09-111-2/+0
| | | | | | | | | | | | | | 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
* QPID-1279 Implementations of management methods can now return error strings ↵Ted Ross2008-09-101-1/+2
| | | | | | along with its own error codes git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@693933 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1261: initial fix (this degrades performance for shared queues with ↵Gordon Sim2008-09-091-6/+2
| | | | | | more than one consumer; I'll work on fixing that asap). This also moves the lock refered to in QQPID-1265 which I will update accordingly. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@693518 13f79535-47bb-0310-9956-ffa450edef68