diff src/lib-index/mail-transaction-log.h @ 2853:512dd7d76cdc HEAD

Removed cache_offset from mail_index_record and changed it to use extension instead. Added possibility to register sync and expunge handlers for extensions. Changed the way extension resets work: all extension updates which were committed without having seen the reset are ignored.
author Timo Sirainen <tss@iki.fi>
date Sat, 06 Nov 2004 19:20:18 +0200
parents a1c7e92c1839
children 61c8d205d887
line wrap: on
line diff
--- a/src/lib-index/mail-transaction-log.h	Fri Nov 05 17:36:38 2004 +0200
+++ b/src/lib-index/mail-transaction-log.h	Sat Nov 06 19:20:18 2004 +0200
@@ -16,8 +16,6 @@
 	MAIL_TRANSACTION_EXPUNGE		= 0x00000001,
 	MAIL_TRANSACTION_APPEND			= 0x00000002,
 	MAIL_TRANSACTION_FLAG_UPDATE		= 0x00000004,
-	MAIL_TRANSACTION_CACHE_RESET		= 0x00000008,
-	MAIL_TRANSACTION_CACHE_UPDATE		= 0x00000010,
 	MAIL_TRANSACTION_HEADER_UPDATE		= 0x00000020,
 	MAIL_TRANSACTION_EXT_INTRO		= 0x00000040,
 	MAIL_TRANSACTION_EXT_RESET		= 0x00000080,
@@ -53,15 +51,6 @@
 	keywords_mask_t remove_keywords;
 };
 
-struct mail_transaction_cache_reset {
-	uint32_t new_file_seq;
-};
-
-struct mail_transaction_cache_update {
-	uint32_t uid;
-	uint32_t cache_offset;
-};
-
 struct mail_transaction_header_update {
 	uint16_t offset;
 	uint16_t size;
@@ -72,6 +61,7 @@
 	/* old extension: set ext_id. don't set name.
 	   new extension: ext_id = (uint32_t)-1. give name. */
 	uint32_t ext_id;
+	uint32_t reset_id;
 	uint32_t hdr_size;
 	uint16_t record_size;
 	uint16_t record_align;
@@ -80,6 +70,10 @@
 	/* unsigned char name[]; */
 };
 
+struct mail_transaction_ext_reset {
+	uint32_t new_reset_id;
+};
+
 /* these are set for the last ext_intro */
 struct mail_transaction_ext_hdr_update {
 	uint16_t offset;