summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/QueuePolicy.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QPID-529: Priority queue implementationGordon Sim2011-02-101-1/+5
| | | | | | | | | | QPID-2104: LVQ enhancement These both required some refactoring of the Queue class to allow cleaner implementation of different types of behaviour. The in-memory storage of messages is now abstracted out behind an interface specified by qpid::broker::Messages which qpid::broker::Queue uses. Different implementations of that are available for the standard FIFO queue, priority queues and LVQ (I have also separated out the 'legacy' implementation of LVQ from the new version driven by QPID-2104). git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1069322 13f79535-47bb-0310-9956-ffa450edef68
* Fix to r1028346: no point in throwing exception after queue has already been ↵Gordon Sim2010-11-101-5/+11
| | | | | | created, so just log error and revert to default (do this for floating point values also) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1033585 13f79535-47bb-0310-9956-ffa450edef68
* Fixes broker issues when max_count or max_size are invalid.Jonathan Robie2010-10-281-6/+19
| | | | | | | Accepts non-negative integer values, or strings containing the lexical representation of such values. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1028346 13f79535-47bb-0310-9956-ffa450edef68
* Fixes two bugs for ring queue policies that involve size. Jonathan Robie2010-10-011-20/+41
| | | | | | | | | | | | - When messages vary in size, now correctly displaces enough smaller messages to make room for the new message. - When a message is larger than maximum queue size, now correctly rejects the message. Resolves JIRA QPID-2338 (https://issues.apache.org/jira/browse/QPID-2338). git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1003531 13f79535-47bb-0310-9956-ffa450edef68
* Fix for QPID-2470 - Broker does not honour flow-to-disk policy on recoveryKim van der Riet2010-04-131-2/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@933711 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2102: Changed QueuePolicy to rely on external locking and require ↵Gordon Sim2009-09-281-9/+6
| | | | | | | | | | dequeues to be handled by policy user rather. (r817742 introduced a deadlock in ring queue policy which this checkin fixes) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@819505 13f79535-47bb-0310-9956-ffa450edef68
* Joint checkin from gsim, kpvdr, cctrieloff. See QPID-2102: Exceeding reject ↵Kim van der Riet2009-09-221-71/+70
| | | | | | queue policy under a transaction causes broker crash git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@817742 13f79535-47bb-0310-9956-ffa450edef68
* Reversed checkin of r.813825 until its problems can be resolvedKim van der Riet2009-09-141-18/+18
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@814692 13f79535-47bb-0310-9956-ffa450edef68
* Joint checkin with cctrieloff. Refactor of exchange routing so that ↵Kim van der Riet2009-09-111-18/+18
| | | | | | multi-queue policy differences may be resolved and allow for correct multi-queue flow-to-disk behavior. Different queues may have differing policies and persistence properties - these were previously being neglected. New c++ test added. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@813825 13f79535-47bb-0310-9956-ffa450edef68
* Revert "Remove uninformative per-message info level log message."Alan Conway2009-07-241-0/+3
| | | | | | This reverts r797184. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@797432 13f79535-47bb-0310-9956-ffa450edef68
* Remove uninformative per-message info level log message.Alan Conway2009-07-231-3/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@797184 13f79535-47bb-0310-9956-ffa450edef68
* Add directory to #includeAlan Conway2009-07-141-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@793909 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1936: Fix potential deadlock for durable ring queueGordon Sim2009-06-231-14/+27
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@787625 13f79535-47bb-0310-9956-ffa450edef68
* Minor change to clarify queue size policy log messagesKim van der Riet2009-06-111-3/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@783866 13f79535-47bb-0310-9956-ffa450edef68
* Ensure that ring queue behaves as expected when replicated to newly joined ↵Gordon Sim2009-06-031-1/+7
| | | | | | | | | | cluster node. Altered queueDurabilityPropagationToNewbie test to not use in-process broker to fix error caused by linking change. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@781454 13f79535-47bb-0310-9956-ffa450edef68
* qpid/broker/QueuePolicy.cppManuel Teira Paz2009-03-051-1/+1
| | | | | | | | | - Add a missing std namespace qpid/broker/TxAccept.cpp - Add a missing std namespace git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@750497 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1685: Fixed ring queue policyGordon Sim2009-02-251-13/+13
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@747744 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1497: Ensure policy count and size reflect transactionality of dequeuesGordon Sim2008-12-011-8/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@722200 13f79535-47bb-0310-9956-ffa450edef68
* Disabling underflow check in QueuePolicy until reported failures in javas ↵Gordon Sim2008-11-271-2/+8
| | | | | | org.apache.qpid.test.unit.xa.TopicTest can be investigated. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@721188 13f79535-47bb-0310-9956-ffa450edef68
* * QPID-1488: test that policy pointer is setGordon Sim2008-11-271-2/+18
| | | | | | | | | * don't flow to disk for null store implementation * add checks for undeflow in queue policy git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@721166 13f79535-47bb-0310-9956-ffa450edef68
* Was causing cluster failures.Alan Conway2008-11-261-2/+31
| | | | | | | QPID-1488 Mick Goulish: QueuePolicy serialization fix for cluster braindump. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@720979 13f79535-47bb-0310-9956-ffa450edef68
* Added ability to release messages through the Subscription class (+test)Gordon Sim2008-11-051-2/+6
| | | | | | | | | | 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
* Handle case where first message in 'ring queue' would exceed limit.Gordon Sim2008-09-301-0/+7
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@700545 13f79535-47bb-0310-9956-ffa450edef68
* Keep same default policy as before.Gordon Sim2008-09-221-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@697916 13f79535-47bb-0310-9956-ffa450edef68
* Refactoring of queue/queue-policy:Gordon Sim2008-09-211-15/+168
| | | | | | | | | | | | - 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
* Only reduce count and size maintained for queue plicy when messages are ↵Gordon Sim2008-07-251-0/+15
| | | | | | actually dequeued (i.e. acked). git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@679805 13f79535-47bb-0310-9956-ffa450edef68
* Allow configurable default size limit to be set for queues (merged from ↵Gordon Sim2008-07-241-8/+11
| | | | | | r679462). git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@679469 13f79535-47bb-0310-9956-ffa450edef68
* More tidying up of field table APIAndrew Stitcher2007-10-231-1/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@587480 13f79535-47bb-0310-9956-ffa450edef68
* Moved src/ source code to src/qpid directory:Alan Conway2007-04-131-0/+69
- allows rhm package to build consistently against checked-out or installed qpid. - consistent correspondence between source paths and C++ namespaces. - consistent use of #include <qpid/foo> in source and by users. - allows header files to split over multiple directories, e.g. separating generated code, separating public API from private files. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@528668 13f79535-47bb-0310-9956-ffa450edef68