IndexPersistenceManager
Class: IndexPersistenceManager
Constructors
new IndexPersistenceManager()
new IndexPersistenceManager(adapter, options?): IndexPersistenceManagerParameters
| Parameter | Type |
|---|---|
adapter | FlashcoreAdapter<string, unknown> |
options? | IndexPersistenceOptions |
Returns
Methods
flushAll()
flushAll(): Promise<FlushResult>Flush all dirty indexes to storage.
Returns
Promise<FlushResult>
flushModel()
flushModel(modelName, namespace?): Promise<FlushResult>Flush dirty indexes for a specific model.
Parameters
| Parameter | Type |
|---|---|
modelName | string |
namespace? | string |
Returns
Promise<FlushResult>
getDirtyCount()
getDirtyCount(): numberGet the number of dirty entries.
Returns
number
getEpoch()
getEpoch(modelName, namespace?): numberGet the current epoch for a model.
Parameters
| Parameter | Type |
|---|---|
modelName | string |
namespace? | string |
Returns
number
getMemoryLimit()
getMemoryLimit(): numberGet the configured memory limit.
Returns
number
getMemoryUsage()
getMemoryUsage(): numberGet current memory usage in bytes.
Returns
number
hasDirty()
hasDirty(): booleanCheck if there are any dirty indexes pending flush.
Returns
boolean
init()
init(): voidInitialize the persistence manager. Sets up periodic flush timer and shutdown handlers.
Returns
void
isStale()
isStale(modelName, namespace?): Promise<boolean>Check if persisted indexes are stale (epoch mismatch).
Parameters
| Parameter | Type |
|---|---|
modelName | string |
namespace? | string |
Returns
Promise<boolean>
loadEpoch()
loadEpoch(modelName, namespace?): Promise<EpochData>Load epoch data to check for stale indexes.
Parameters
| Parameter | Type |
|---|---|
modelName | string |
namespace? | string |
Returns
Promise<EpochData>
markFilterDirty()
markFilterDirty(modelName, namespace?): voidMark a filter as dirty (needs persistence).
Parameters
| Parameter | Type |
|---|---|
modelName | string |
namespace? | string |
Returns
void
markIndexDirty()
markIndexDirty(
modelName,
field,
namespace?): voidMark a sorted index as dirty (needs persistence).
Parameters
| Parameter | Type |
|---|---|
modelName | string |
field | string |
namespace? | string |
Returns
void
persistEpoch()
persistEpoch(modelName, namespace?): Promise<void>Persist epoch data for stale detection.
Parameters
| Parameter | Type |
|---|---|
modelName | string |
namespace? | string |
Returns
Promise<void>
registerFilter()
registerFilter(
modelName,
filter,
namespace?): voidRegister a filter for persistence tracking.
Parameters
| Parameter | Type |
|---|---|
modelName | string |
filter | CuckooFilter |
namespace? | string |
Returns
void
registerSortedIndex()
registerSortedIndex(
modelName,
field,
index,
namespace?): voidRegister a sorted index for persistence tracking.
Parameters
| Parameter | Type |
|---|---|
modelName | string |
field | string |
index | SortedIndex |
namespace? | string |
Returns
void
removeFromMemory()
removeFromMemory(
modelName,
field,
namespace?): voidRemove an entry from memory tracking.
Parameters
| Parameter | Type |
|---|---|
modelName | string |
field | string |
namespace? | string |
Returns
void
scheduleFlush()
scheduleFlush(intervalMs): voidSchedule periodic flush.
Parameters
| Parameter | Type |
|---|---|
intervalMs | number |
Returns
void
setupShutdownHandlers()
setupShutdownHandlers(): voidSetup process shutdown handlers.
Returns
void
shutdown()
shutdown(): Promise<void>Shutdown the persistence manager. Flushes pending changes and cleans up timers.
Returns
Promise<void>
touchEntry()
touchEntry(
modelName,
field,
namespace?): voidMark an entry as recently accessed (for LRU ordering).
Parameters
| Parameter | Type |
|---|---|
modelName | string |
field | string |
namespace? | string |
Returns
void
trackFilterMemory()
trackFilterMemory(
modelName,
filter,
namespace?): voidTrack memory usage for a filter.
Parameters
| Parameter | Type |
|---|---|
modelName | string |
filter | CuckooFilter |
namespace? | string |
Returns
void
trackIndexMemory()
trackIndexMemory(
modelName,
field,
index,
namespace?): voidTrack memory usage for a sorted index.
Parameters
| Parameter | Type |
|---|---|
modelName | string |
field | string |
index | SortedIndex |
namespace? | string |
Returns
void
