summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@lshift.net>2009-09-23 19:01:31 +0100
committerMatthias Radestock <matthias@lshift.net>2009-09-23 19:01:31 +0100
commit3ac34b2a2765d359f946e37ec42c06c11411b106 (patch)
tree710b0057415c52f5938e2443a130d2939d315351 /include
parent71f7201c5958142b9bcfce82eb1857b31112810f (diff)
downloadrabbitmq-server-git-3ac34b2a2765d359f946e37ec42c06c11411b106.tar.gz
replace msg_store:attrs with contains
This is a step on the path to getting rid of message attributes in msg_store. msg_store:attrs was only being used in disk_queue:prune, to detect when the store contained a non-persistent message and remove that message from the store and the rabbit_disk_queue table. Now rabbit_disk_queue records contain an IsPersistent flag. By making the msg count delta generator pay attention to that flag we trim non-persistent messages from the store during its initialisation, disk_queue:prune no longer needs to remove messages from the store, it just needs to remove all messages from the rabbit_disk_queue table which are no longer referenced by the store - hence the new msg_store:contains function. Keeping the IsPersistent flag in the rabbit_disk_queue table is sub-optimal since it means we store it once per message reference rather than just once per message. That's a small price to pay though for the cleaner interaction between the disk_queue and msg_store, and the opportunity to remove the notion of message attributes from msg_store altogether. Populating the new field in rabbit_disk_queue is straightforward in most places except disk_queue:tx_commit. That used to just be given {MsgId, IsDelivered} tuples, so I had to change the API to {MsgId, IsDelivered, IsPersistent} tuples.
Diffstat (limited to 'include')
-rw-r--r--include/rabbit.hrl2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/rabbit.hrl b/include/rabbit.hrl
index 095044e797..bebaee98f6 100644
--- a/include/rabbit.hrl
+++ b/include/rabbit.hrl
@@ -65,7 +65,7 @@
-record(basic_message, {exchange_name, routing_key, content,
guid, is_persistent}).
--record(dq_msg_loc, {queue_and_seq_id, is_delivered, msg_id}).
+-record(dq_msg_loc, {queue_and_seq_id, is_delivered, is_persistent, msg_id}).
-record(ssl_socket, {tcp, ssl}).
-record(delivery, {mandatory, immediate, txn, sender, message}).