Commit Graph
12 Commits
Author SHA1 Message Date
rustmailer 4cdf3ee5f1 refactor(blob): add delete_batch, gc_if_needed, background flush, and fix bincode compat
- Replace bincode 3.0.0 (empty crate) with bincode_reloaded 3.1.10
  - Add delete_batch for efficient grouped tombstone writes
  - Add gc_if_needed to skip GC when no segment exceeds threshold
  - Add flush() for lightweight fsync+meta checkpoint without compact
  - Add Config::flush_interval_secs to spawn a background flush thread
  - Remove per-put/per-delete fsync; persistence via background flush
  - Split gc_segments into gc_prepare/gc_finish to reduce write lock hold time
2026-07-10 01:52:04 +08:00
rustmailer b0f229618c refactor(blob): add NFS-safe file I/O layer 2026-06-24 00:03:56 +08:00
rustmailer ff59d47a0d fix(blob): fsync meta before rename and hold write_mutex during GC 2026-06-23 23:57:34 +08:00
rustmailer b6957c8ceb test(blob): add concurrent access and crash recovery integration tests 2026-06-23 23:29:48 +08:00
rustmailer cd98c050b6 fix(blob): invalidate FilePool after GC to prevent stale reads 2026-06-23 23:28:33 +08:00
rustmailer 11e40750fe feat(blob): add FilePool read cache and fix BucketCache TOCTOU 2026-06-23 23:23:03 +08:00
rustmailer b0374517e8 fix(blob): address review issues - visibility, unused param 2026-06-23 23:20:24 +08:00
rustmailer 4e12ae5457 refactor(blob): replace global RwLock with per-account Arc<AccountHandle> 2026-06-23 23:13:39 +08:00
rustmailer 495c91b7ae fix(blob): address code review issues - CRC guard, tests, clone 2026-06-23 23:10:15 +08:00
rustmailer e442db4a2d feat(blob): replace JSON metadata with bincode + CRC32 binary format 2026-06-23 23:01:32 +08:00
rustmailer cc54063669 chore(blob): add bincode dependency and new meta error variants 2026-06-23 22:55:13 +08:00
rustmailer 04745458bc feat(blob): add embedded KV storage engine for email archiving 2026-06-23 21:38:31 +08:00