summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Queue.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QPID-1306Carl C. Trieloff2008-10-091-2/+7
| | | | | | | | | | - from review, clean-up for acquire - test for LVQ acquire - suppress store for LVQ git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@703236 13f79535-47bb-0310-9956-ffa450edef68
* Minor indentation fixesGordon Sim2008-10-091-43/+43
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@703102 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1306Carl C. Trieloff2008-10-081-20/+50
| | | | | | | | | | | | - added lvq support - added lvq tests - added safety test for lvq - updated QueueOptions for lvq - some refactor to queue, to have signel pop loction git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@702958 13f79535-47bb-0310-9956-ffa450edef68
* Rename size() to encodedSize() for encoded types to allow std collection ↵Alan Conway2008-10-071-1/+1
| | | | | | 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
* QPID-1306Carl C. Trieloff2008-09-301-11/+3
| | | | | | | | Cleaner consume check, pointed out by gsim. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@700516 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1306Carl C. Trieloff2008-09-301-40/+59
| | | | | | | | | | | | | | | | | This patch includes: - Optimistic Consume - Support for forcing Queue durable on cluster failure - Some cleanup on mgnt functions in Queue to inlines - Tests Still coming - header for client queue options - LVQ support bits. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@700489 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1290 - Patch from William HenryTed Ross2008-09-231-3/+18
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@698275 13f79535-47bb-0310-9956-ffa450edef68
* Refactoring of queue/queue-policy:Gordon Sim2008-09-211-37/+31
| | | | | | | | | | | | - moved some logic out of Queue.cpp into QueuePolicy.cpp - moved QueuedMessage definition into its own header file - added checks for requeue and dequeue - split QueuePolicy logic into different sub classes Added ability to request old messages to be discareded to make room for new ones when configured limit has been reached. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@697603 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1274 - Changed C++ namespace for generated management code. Improved ↵Ted Ross2008-09-151-4/+5
| | | | | | 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
* QPID-1279 Implementations of management methods can now return error strings ↵Ted Ross2008-09-101-2/+1
| | | | | | 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-68/+71
| | | | | | 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
* QPID-1174 Updates to the management frameworkTed Ross2008-09-031-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@691700 13f79535-47bb-0310-9956-ffa450edef68
* Remove 'clever' locking as it actually degrades performance.Gordon Sim2008-08-201-28/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@687361 13f79535-47bb-0310-9956-ffa450edef68
* Patch from Gordon Sim to fix issues with hasOutput implementation.Alan Conway2008-08-071-2/+23
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@683617 13f79535-47bb-0310-9956-ffa450edef68
* - Added OutputTask::hasOutput() test.Alan Conway2008-08-061-1/+5
| | | | | | | - Cluster only sends doOutput events when hasOutput() git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@683416 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1214 - Committed William's patchTed Ross2008-08-051-5/+20
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@682710 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1198 (Partial): Added explicit namespaces that the Sun C++ requires ↵Andrew Stitcher2008-07-291-2/+2
| | | | | | | | | | | (that gcc doesn't) Patches from Manuel Teira. It's not clear at this point whether there is a compiler problem with gcc that it does find the symbols in the namespaces or SunCC that it doesn't! git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@680827 13f79535-47bb-0310-9956-ffa450edef68
* Only reduce count and size maintained for queue plicy when messages are ↵Gordon Sim2008-07-251-30/+38
| | | | | | actually dequeued (i.e. acked). git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@679805 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1170 - Provide a better factory for creation and deletion of the ↵Ted Ross2008-07-161-2/+2
| | | | | | management agent git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@677408 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1170 - Remove boost dependency from management agent interfaceTed Ross2008-07-081-22/+22
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@674994 13f79535-47bb-0310-9956-ffa450edef68
* * release message lock when notifying queue listenersGordon Sim2008-07-081-26/+40
| | | | | | | | | * take copy of listeners * remove unused functionality git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@674848 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1160 - Per-thread counters in management API to avoid lockingTed Ross2008-06-301-17/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@672864 13f79535-47bb-0310-9956-ffa450edef68
* Added mutexes back in to protect management counts from corruptionTed Ross2008-06-061-2/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@664112 13f79535-47bb-0310-9956-ffa450edef68
* Dequeue persistent messages from store in queue purgeTed Ross2008-06-051-1/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@663755 13f79535-47bb-0310-9956-ffa450edef68
* Management fixes: set session.detachedLifetime to 0, set journal->queue link ↵Ted Ross2008-06-031-3/+9
| | | | | | in all cases git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@662830 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1113 Management cleanup and performance enhancementsTed Ross2008-06-021-15/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@662470 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1088Ted Ross2008-05-221-0/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@659110 13f79535-47bb-0310-9956-ffa450edef68
* Fail with exception if queue is not durable and configured policy is exceeded.Gordon Sim2008-05-131-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@655957 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1050: Patch from Ted Ross:Gordon Sim2008-05-121-1/+1
| | | | | | | | | | | | | | | | | 1) Durability for federation links (broker-to-broker connections) 2) Improved handling of federation links: a) Links can be created even if the remote broker is not reachable b) If links are lost, re-establishment will occur using an exponential back-off algorithm 3) Durability of exchanges is now viewable through management 4) ManagementAgent API has been moved to an interface class to reduce coupling between the broker and manageable plug-ins. 5) General configuration storage capability has been added to the store/recover interface. This is used for federation links. 6) Management object-ids for durable objects are now themselves durable. (Note: some refactoring needed around ProtocolAccess needed to try and reduce dependencies) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@655563 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1048: Only wait for enqueue completion for persistent queues.Gordon Sim2008-05-111-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@655353 13f79535-47bb-0310-9956-ffa450edef68
* Extra log ouput for queue policy.Gordon Sim2008-05-041-1/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@653249 13f79535-47bb-0310-9956-ffa450edef68
* Boost's string split function causes problems on older versions of the ↵Gordon Sim2008-05-011-4/+3
| | | | | | library. Replaced with homegrown equivalent. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@652689 13f79535-47bb-0310-9956-ffa450edef68
* QPID-977: shutdown mgmt client cleanly in federation tests (patch from ↵Gordon Sim2008-04-291-1/+26
| | | | | | | | | tross@redhat.com) QPID-981: added custom options to queue declare to tag each message as it goes through a bridge queue and allow loop prevention through specifying exclusions git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@652075 13f79535-47bb-0310-9956-ffa450edef68
* Generate c++ code from final 0-10 specGordon Sim2008-04-241-3/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@651423 13f79535-47bb-0310-9956-ffa450edef68
* QPID-944: do no-local checking where requested when there is an exclusive ↵Gordon Sim2008-04-221-9/+17
| | | | | | subscription active git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@650450 13f79535-47bb-0310-9956-ffa450edef68
* QPID-921: applied qpid-patch36.diff on behalf of Ted RossNuno Santos2008-04-151-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@648308 13f79535-47bb-0310-9956-ffa450edef68
* Patch from Ted Ross: QPID-907: Management Improvements for C++ Broker and StoreKim van der Riet2008-04-081-2/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@646045 13f79535-47bb-0310-9956-ffa450edef68
* Removed out-of-date and misleading comment.Gordon Sim2008-04-081-2/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@645826 13f79535-47bb-0310-9956-ffa450edef68
* Patch from Ted Ross (see QPID-902): This patch contains the following ↵Kim van der Riet2008-04-041-7/+0
| | | | | | improvements for management:\n1) Schema display cleaned up in the python mgmt-cli\n2) Locking added automatically to management object accessors (manual locking removed from broker/Queue.cpp)\n3) Schemas are now pre-registered with the management agent using a package initializer. This allows management consoles to get schema information for a class even if no instances of the class exist. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@644806 13f79535-47bb-0310-9956-ffa450edef68
* Patch from Ted Ross (see QPID-893): This patch enables management of ↵Kim van der Riet2008-04-031-0/+12
| | | | | | plugged-in store modules. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@644287 13f79535-47bb-0310-9956-ffa450edef68
* Re-introduced old 'no-local' behaviour for exclusive queues via a ↵Gordon Sim2008-03-311-3/+15
| | | | | | proprietary arg to queue.declare. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@642981 13f79535-47bb-0310-9956-ffa450edef68
* Fix compile errors/warnings with gcc 4.3Alan Conway2008-03-251-1/+1
| | | | | | | | | | | | | - added missing #includes that were implicitly included via old headers. - add namespace-qualifiers to fix "changes meaning of name" warnings. - ./qpid/ptr_map.h:51: fixed "qualified return value" warning. - use const char* for "conversion from string constant to ‘char*’" warnings Applied patch from https://issues.apache.org/jira/browse/QPID-869 remove depenency on boost/date_time, causes warnings with gcc 4.3. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@640806 13f79535-47bb-0310-9956-ffa450edef68
* - Refactored RefCounted class to avoid virtual inheritanceAndrew Stitcher2008-03-241-12/+16
| | | | | | | | | | - Removed extraneous includes and definitions from RefCounted.h - Fixed all the places that were relying on RefCounted.h to be including the intrusive_ptr header file and were assuming that something had imported intrusive_ptr into the qpid namespace git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@640479 13f79535-47bb-0310-9956-ffa450edef68
* Scope exclusive queues to sessions.Gordon Sim2008-03-171-3/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@637854 13f79535-47bb-0310-9956-ffa450edef68
* Fixes to prevent problems with async store when queue is deleted before all ↵Gordon Sim2008-02-211-2/+4
| | | | | | messages are completed or dequeued git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@629999 13f79535-47bb-0310-9956-ffa450edef68
* Fixed bug in browsing that failed to deal correctly with 'gaps' in message ↵Gordon Sim2008-02-141-7/+14
| | | | | | sequence. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@627718 13f79535-47bb-0310-9956-ffa450edef68
* Patch from https://issues.apache.org/jira/browse/QPID-722 by Ted Ross:Alan Conway2008-01-071-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two changes in this patch: 1) Management object IDs are now persistent for persistent (durable) objects. This is required to provide continuity of historical management data across broker restarts. The format of object IDs now indicates whether they are transient or persistent. The upper bit (bit 63) is 0 for transient IDs and 1 for persistent IDs. 2) Changes have been made to the management code generator in preparation for allowing it to be used by outside projects that wish to use the broker Plugin API for management access. File-by-file notes: M python/mgmt-cli/managementdata.py Enhanced user-friendly display of 64-bit object IDs to differentiate between persistent IDs and non-persistent IDs. M cpp/src/Makefile.am Changed command line format for call to the management code generator. M cpp/src/qpid/broker/Broker.cpp M cpp/src/qpid/broker/Vhost.cpp M cpp/src/qpid/broker/Queue.cpp Updated calls to ManagementAgent::addObject to use the new support for persistent IDs, ensuring that the management object IDs for persistent objects are themselves persistent. M cpp/src/qpid/management/ManagementAgent.h M cpp/src/qpid/management/ManagementAgent.cpp Added support (using defaulted arguments) to ManagementAgent::addObject for persistent object IDs M cpp/managementgen/generate.py M cpp/managementgen/schema.py M cpp/managementgen/main.py Added the ability for templates to set variables to be used during code generation. Makefile fragment is now generated using a template rather than hard-code. This was done to help non-qpid code to use the code generator for management-via-qpid support. M cpp/managementgen/templates/Args.h M cpp/managementgen/templates/Class.cpp M cpp/managementgen/templates/Class.h Use a generator variable to define the comment prefix. A cpp/managementgen/templates/Makefile.mk New template for the qpid makefile fragment. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@609672 13f79535-47bb-0310-9956-ffa450edef68
* patch-715 (tross)Carl C. Trieloff2008-01-021-4/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@608135 13f79535-47bb-0310-9956-ffa450edef68
* Only release content for durable queues.Gordon Sim2007-12-141-1/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604169 13f79535-47bb-0310-9956-ffa450edef68
* Patches from Ted Ross <tross@redhat.com>Alan Conway2007-12-101-0/+7
| | | | | | | | | | | | | | | | | | | QPID-697 Fixed access-rights constants for management schema. Added mutex to fix problems associated with concurrent invocation of accessors for queue statistics. Removed queue schema content that is not relevant to QPID. QPID-698 This patch creates a new subdirectory in python called "mgmt-cli". python/mgmt-cli/main.py can be executed from the shell. If no arguments are supplied, it attempts to connect to the broker at localhost:5672. The first argument is the hostname for the target broker and the second (optional) argument is the TCP port (defaults to 5672). It is assumed that the AMQP spec file is in the following location: /usr/share/amqp/amqp.0-10-preview.xml It is also required that the qpid/python directory be in the PYTHONPATH environment variable. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603034 13f79535-47bb-0310-9956-ffa450edef68