summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Message.cpp
Commit message (Collapse)AuthorAgeFilesLines
* QPID-4712: authorisation for AMQP 1.0 connectionsGordon Sim2013-06-251-5/+6
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1496466 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4905: Stopped broker::Broker needing to refer to broker::ConnectionAndrew Stitcher2013-06-191-0/+9
| | | | | | - Also removed ConnectionToken which didn't add anything over OwnershipToken git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1494640 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4348: HA Use independent sequence numbers for identifying messagesAlan Conway2013-06-171-2/+13
| | | | | | | | | | | | | | | Previously HA code used queue sequence numbers to identify messasges. This assumes that message sequence is identical on primary and backup. Implementing new features (for example transactions) requires that we tolerate ordering differences between primary and backups. This patch introduces a new, queue-scoped HA sequence number managed by the HA plugin. The HA ID is set *before* the message is enqueued and assigned a queue sequence number. This means it is possible to identify messages before they are enqueued, e.g. messages in an open transaction. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1493771 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4707: Set AMQP 1.0 fields on outgoing messages based on special ↵Gordon Sim2013-06-041-1/+3
| | | | | | property keys git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1489519 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4668: Correct use of delivery count (should be 0 on first delivery)Gordon Sim2013-05-081-2/+2
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1480236 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4625: Extract amqp 1.0 application-properties from messagesAndrew Stitcher2013-03-121-0/+2
| | | | | | | | - A working implementaion to qpid::amqp::Message::processProperties() so that qpid::broker::Message::getProperty() will work. * This is used by the selector implementation. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1455579 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4626: Amqp 0-10 Message getProperty() does not correctly return booleansAndrew Stitcher2013-03-081-0/+1
| | | | | | | - Improve amqp 0-10 message property handling to correct deal with floats/double and bools. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1454437 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4368: Pluggable AMQP 1.0 implementation for broker and clientGordon Sim2012-10-191-0/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1400178 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4178: broker refactoringGordon Sim2012-08-101-390/+152
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1371676 13f79535-47bb-0310-9956-ffa450edef68
* QPID-4065 - Remove the message's trace list during Queue::reRouteTed Ross2012-06-131-0/+12
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1350003 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3877: hold msg lock across body encode.Ken Giusti2012-03-201-7/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1303068 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3877: hold lock during message header encode.Ken Giusti2012-03-021-3/+8
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1296230 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3824 - Additional queue statistics, posix memory statistics, and ↵Ted Ross2012-02-091-0/+1
| | | | | | broker-scope statistics git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1242526 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3417: C++ broker - support adding arrival timestamp to received messages.Ken Giusti2011-10-121-1/+9
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1182490 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3304Michael Goulish2011-09-291-0/+6
| | | | | | | | | | | ( well, at least related to that jira ^^ ) Without these extra locks I got a broker SEGV during a federation test. 100% reproducible, 5 times. gsim suggested that this might be the issue. After placing these locks, no SEGV in many tries. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1177412 13f79535-47bb-0310-9956-ffa450edef68
* NO-JIRA: Remove unused #include file, causing compile errors on rhel5.Alan Conway2011-07-201-1/+0
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1148870 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3304: Patch from Gordon Sim plus tests which detect the condition being ↵Kim van der Riet2011-07-191-19/+66
| | | | | | solved. Added a make check-long target to the Makefile in the cpp dir to make it easier to run the long tests. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1148503 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3280: Performance problem with TTL messages.Alan Conway2011-06-151-27/+28
| | | | | | | | | | | | When sending a large number of messages with nonzero TTLs to a cluster, overall message throughput drops by around 20-30% compared to messages with TTL 0. The previous approach to TTL in the cluster is replaced with a simpler "cluster clock". Also QueueCleaner is executed in the cluster timer, and modified to be deterministic in a cluster. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1136170 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3291: Applied patch fron Andy Goldstein to ensure that expiration is ↵Gordon Sim2011-06-031-1/+1
| | | | | | not lost when adjusting ttl git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1131084 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3222: Prevent ttl overflow; also adds equality operators for ↵Gordon Sim2011-04-261-3/+6
| | | | | | qpid::messaging::Duration. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1096751 13f79535-47bb-0310-9956-ffa450edef68
* QPID-3132: Prevent threshold events triggering directly further threshold eventsGordon Sim2011-03-091-1/+4
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1079854 13f79535-47bb-0310-9956-ffa450edef68
* QPID-2935: merge producer flow control (C++ broker).Ken Giusti2011-02-191-22/+5
| | | | git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1072356 13f79535-47bb-0310-9956-ffa450edef68
* 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