fix(sync): исправил журнал при DELETE/TRASH и безопасный flush
Добавил recordSyncJournal для delete/moveToTrash, StorageSyncJournalBuffer с восстановлением pending при ошибке записи и немедленным flush без debounce.
This commit is contained in:
@@ -39,10 +39,10 @@ interface IStorageAccessor {
|
||||
suspend fun setHidden(path: String, hidden: Boolean)
|
||||
suspend fun touchFile(path: String)
|
||||
suspend fun touchDir(path: String)
|
||||
suspend fun delete(path: String)
|
||||
suspend fun delete(path: String, recordSyncJournal: Boolean = true)
|
||||
suspend fun openWrite(path: String, recordSyncJournal: Boolean = true): OutputStream
|
||||
suspend fun openRead(path: String): InputStream
|
||||
suspend fun moveToTrash(path: String)
|
||||
suspend fun moveToTrash(path: String, recordSyncJournal: Boolean = true)
|
||||
|
||||
/**
|
||||
* Системный sidecar-файл для логических нужд хранилища (мета, ключи и т.п.).
|
||||
@@ -53,6 +53,10 @@ interface IStorageAccessor {
|
||||
suspend fun openWriteSystemFile(name: String): OutputStream
|
||||
|
||||
suspend fun readSyncJournal(): StorageSyncJournal
|
||||
|
||||
/** Сбрасывает отложенные записи журнала на носитель (перед sync и при закрытии storage). */
|
||||
suspend fun flushPendingSyncJournal() = Unit
|
||||
|
||||
suspend fun putSyncJournalEntries(entries: StorageSyncJournal)
|
||||
|
||||
suspend fun readSyncLock(): StorageSyncLock?
|
||||
|
||||
Reference in New Issue
Block a user