mail-transaction-log-private.h revision 2e99f3f3bb35715ce5e0a75a2f2a9bac3ab4224b
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch#if 0 // FIXME
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch/* Rotate when log is older than ROTATE_TIME and larger than MIN_SIZE */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch#define MAIL_TRANSACTION_LOG_ROTATE_MIN_SIZE (1024*4)
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch/* If log is larger than MAX_SIZE, rotate regardless of the time */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch#define MAIL_TRANSACTION_LOG_ROTATE_MAX_SIZE (1024*16)
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch#define MAIL_TRANSACTION_LOG_FILE_IN_MEMORY(file) ((file)->fd == -1)
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch/* Rotate when log is older than ROTATE_TIME and larger than MIN_SIZE */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch#define MAIL_TRANSACTION_LOG_ROTATE_MIN_SIZE (1024*256)
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch/* If log is larger than MAX_SIZE, rotate regardless of the time */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch#define MAIL_TRANSACTION_LOG_ROTATE_MAX_SIZE (1024*1024)
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch#define MAIL_TRANSACTION_LOG_ROTATE_TIME (60*5)
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch#define MAIL_TRANSACTION_LOG_FILE_IN_MEMORY(file) ((file)->fd == -1)
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch /* refcount=0 is a valid state. files start that way, and they're
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch freed only when mail_transaction_logs_clean() is called. */
96fbbe9c6fd04bca25770020bf94eec50888bc9bStephan Bosch /* points to the next uncommitted transaction. usually same as EOF. */
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch /* saved_offset is the offset that was last written to transaction log.
620b60321d04006b32a116824d49b88b61be7131Stephan Bosch max_offset is what should be written to the log the next time a
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch transaction is written. transaction log handling may update
f9511e684858bf5f6ac77ab12254b85b737beae8Stephan Bosch max_offset automatically by making it skip external transactions
struct mail_transaction_log {
unsigned int dotlock_count;
const char *fmt, ...)
struct mail_transaction_log_file *
struct mail_transaction_log_file *
const char *path);
bool check_existing);
*file);