summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Message.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QPID-529: Priority queue implementationGordon Sim2011-02-101-16/+0
| | | | | | | | | | 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
* Code cleanup in broker directory.Alan Conway2010-10-141-0/+1
| | | | | | | | - Removed un-necessary #includes for broker/Queue.h - Removed "using std::string" in header files. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1022679 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2691: ensure ttl adjustment uses correct expiration on cloned messageGordon Sim2010-06-241-2/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@957511 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2670: copy-on-write when tagging message for loop detectionGordon Sim2010-06-151-0/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@954933 13f79535-47bb-0310-9956-ffa450edef68
* Fixed problems with the broker's QMFv2 mode:Ted Ross2010-04-161-0/+5
| | | | | | | | | | - app_id is a message property, not an application header - even in v2 mode, the agent must respond to v1 schema requests - missing object_id was added to the periodic data updates - epoch/boot-sequence added to agent information (locate-response, heartbeat) git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@935044 13f79535-47bb-0310-9956-ffa450edef68
* Fix for QPID-2470 - Broker does not honour flow-to-disk policy on recoveryKim van der Riet2010-04-131-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@933711 13f79535-47bb-0310-9956-ffa450edef68
* Fix for deadlock beween journal timer & connection threads.Alan Conway2010-03-121-3/+24
| | | | | | | See https://bugzilla.redhat.com/show_bug.cgi?id=570154. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@922411 13f79535-47bb-0310-9956-ffa450edef68
* Added handling for adjusting TTL on outgoing message based on how long a ↵Kim van der Riet2010-02-151-0/+10
| | | | | | message has been on the queue. Added a new TTL test as ClientSessionTest.testTtl. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@910289 13f79535-47bb-0310-9956-ffa450edef68
* Added hook to retrieve priority from the delivery properties of a message.Ted Ross2010-02-031-0/+4
| | | | | | | This is to enable eventual work on priority-ordering in Queues. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@906056 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2266: error sending update: Enqueue capacity threshold exceededAlan Conway2009-12-111-15/+0
| | | | | | | | | Fix for the problem with a test to verify that messages going to the store have the same headers and content-size for an updatee or a broker that receives the publish directly. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@889813 13f79535-47bb-0310-9956-ffa450edef68
* Fix race condition in enqueue/dequeue callbacks.Alan Conway2009-10-091-14/+22
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@823669 13f79535-47bb-0310-9956-ffa450edef68
* r817742 (the fix for QPID-2102), introduced a deadlock and a race condition ↵Gordon Sim2009-09-281-25/+28
| | | | | | | | | into flow-to-disk behaviour, fixed by this checkin. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@819524 13f79535-47bb-0310-9956-ffa450edef68
* Minor update to allow store access to the message isPersistent() method. ↵Kim van der Riet2009-09-221-1/+1
| | | | | | This is required for correctly setting the transient flag. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@817748 13f79535-47bb-0310-9956-ffa450edef68
* Joint checkin from gsim, kpvdr, cctrieloff. See QPID-2102: Exceeding reject ↵Kim van der Riet2009-09-221-3/+16
| | | | | | 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-26/+26
| | | | 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-26/+26
| | | | | | 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
* 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
* QPID-1974: Fixes (and tests) for updating lvq state to new cluster members.Gordon Sim2009-07-081-0/+15
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@792103 13f79535-47bb-0310-9956-ffa450edef68
* Corrected the case where message on more than one queue does not persist ↵Carl C. Trieloff2009-07-071-1/+9
| | | | | | when last node standing is enabled git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@791672 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1901: only try to load content if there is someGordon Sim2009-06-111-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@783721 13f79535-47bb-0310-9956-ffa450edef68
* If expiration is already set, don't alter it.Gordon Sim2009-06-081-2/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@782712 13f79535-47bb-0310-9956-ffa450edef68
* Fix lifecycle issue in ExpiryPolicy - remove deleted messages from unexpired ↵Alan Conway2009-03-301-1/+3
| | | | | | map. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@760087 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1744: fix as applied to branch in r755315.Gordon Sim2009-03-171-0/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@755316 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1721: Fixes for replication between clusters when new members are addedGordon Sim2009-03-091-0/+5
| | | | | | | | | | * suppress event generation during node catch up * ensure sequence counters used for duplicate detection are synchronised in both primary and dr clusters when new members join * connect queue with the event manager within queue registry rather than adapter as the latter path is not used for catchup git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@751719 13f79535-47bb-0310-9956-ffa450edef68
* Queue::checkLvqReplace() needs to update the lvq map if it makes a ↵Gordon Sim2009-02-121-0/+2
| | | | | | | | | | replacement or the map will contain a pointer to a stale message and further updates will be lost. Also added in locking to set-/get- ReplacementMessage() in Message.cpp git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@743857 13f79535-47bb-0310-9956-ffa450edef68
* Cluster support for message time-to-live.Alan Conway2009-02-091-8/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@742774 13f79535-47bb-0310-9956-ffa450edef68
* Correction for: start a broker in cluster, send messages that are flow to ↵Carl C. Trieloff2009-01-301-17/+26
| | | | | | 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
* Removed BodyHolder: minor performance improvement, opens the way for more ↵Alan Conway2009-01-221-3/+2
| | | | | | efficient memory management. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@736783 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1495: Patch from Danushka Menikkumbura to fix compilation problem.Gordon Sim2008-12-011-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@722037 13f79535-47bb-0310-9956-ffa450edef68
* Ensure that callbacks are removed before IncompleteMessageList instance is ↵Gordon Sim2008-11-191-0/+2
| | | | | | | | | | deleted. (also removed commented out line of code from Queue.cpp) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@719012 13f79535-47bb-0310-9956-ffa450edef68
* broker/Message, IncompleteMessageList: drop waitFor(De|En)Complete, replace ↵Alan Conway2008-11-071-2/+6
| | | | | | with callbacks. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@712258 13f79535-47bb-0310-9956-ffa450edef68
* Add Message callbacks for async completion.Alan Conway2008-11-061-4/+23
| | | | | | | | Add unit test for async completion. Add sync parameter to generated session functions, defaults as before but allows greater control. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@711998 13f79535-47bb-0310-9956-ffa450edef68
* Adjust namespace references to work with MSVCStephen D. Huston2008-10-301-4/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@709281 13f79535-47bb-0310-9956-ffa450edef68
* Some fixes to the LVQ (primarily a patch from cctrieloff@redhat.com)Gordon Sim2008-10-231-0/+14
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@707446 13f79535-47bb-0310-9956-ffa450edef68
* Field Table API: changed the getInt() & getString() operationsAndrew Stitcher2008-10-131-2/+2
| | | | | | | | which are inconsistent with all the other getXXX() functions to getAsString()/getAsInt() to better indicate their real function. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@704255 13f79535-47bb-0310-9956-ffa450edef68
* Optimisation for testing expiration and disabling of setting timestamp until ↵Gordon Sim2008-10-131-3/+6
| | | | | | performance impact is evaluated git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@704211 13f79535-47bb-0310-9956-ffa450edef68
* Handle ttl in messages transfers received by the broker 7 added test for itGordon Sim2008-10-101-1/+25
| | | | | | | | Moved Timer instance from DtxManager to Broker so it can be shared git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@703521 13f79535-47bb-0310-9956-ffa450edef68
* QPID-1306Carl C. Trieloff2008-09-301-2/+8
| | | | | | | | | | | | | | | | | 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
* Change to lazy-loading to avoid relying on the content-size to be set by client.Gordon Sim2008-06-041-14/+18
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@663243 13f79535-47bb-0310-9956-ffa450edef68
* Boost's string split function causes problems on older versions of the ↵Gordon Sim2008-05-011-4/+2
| | | | | | 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-0/+46
| | | | | | | | | 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-5/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@651423 13f79535-47bb-0310-9956-ffa450edef68
* QPID-920: converted c++ client to use final 0-10 protocolGordon Sim2008-04-201-3/+3
| | | | | | | | | | * 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
* Send accept in response to message publications if required.Gordon Sim2008-03-271-0/+5
| | | | | | | | Hold up completion (and accept) until message from transfer is fully enqueued. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@641929 13f79535-47bb-0310-9956-ffa450edef68
* - Refactored RefCounted class to avoid virtual inheritanceAndrew Stitcher2008-03-241-0/+1
| | | | | | | | | | - 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
* Further updates to support final 0-10 specGordon Sim2008-03-041-0/+3
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@633627 13f79535-47bb-0310-9956-ffa450edef68
* Some fixes for 'flow to disk' (i.e. dropping message content from memory, ↵Gordon Sim2007-12-141-1/+14
| | | | | | and loading it from disk for delivery) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604215 13f79535-47bb-0310-9956-ffa450edef68
* Only release content for durable queues.Gordon Sim2007-12-141-9/+11
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@604169 13f79535-47bb-0310-9956-ffa450edef68
* Some fixes relating to message 'staging'.Gordon Sim2007-12-131-1/+1
| | | | git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@603973 13f79535-47bb-0310-9956-ffa450edef68
* Switched all regular PersistentMessage* and PersistentMessage& to ↵Kim van der Riet2007-11-261-2/+4
| | | | | | intrusive_ptr<PersistentMessage>, so as to hook into the refcount for a message while it is in the store. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@598440 13f79535-47bb-0310-9956-ffa450edef68