LogoRobo.js
Framework

IndexPersistenceManager

Class: IndexPersistenceManager

Constructors

new IndexPersistenceManager()

new IndexPersistenceManager(adapter, options?): IndexPersistenceManager

Parameters

ParameterType
adapterFlashcoreAdapter<string, unknown>
options?IndexPersistenceOptions

Returns

IndexPersistenceManager

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

ParameterType
modelNamestring
namespace?string

Returns

Promise<FlushResult>


getDirtyCount()

getDirtyCount(): number

Get the number of dirty entries.

Returns

number


getEpoch()

getEpoch(modelName, namespace?): number

Get the current epoch for a model.

Parameters

ParameterType
modelNamestring
namespace?string

Returns

number


getMemoryLimit()

getMemoryLimit(): number

Get the configured memory limit.

Returns

number


getMemoryUsage()

getMemoryUsage(): number

Get current memory usage in bytes.

Returns

number


hasDirty()

hasDirty(): boolean

Check if there are any dirty indexes pending flush.

Returns

boolean


init()

init(): void

Initialize 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

ParameterType
modelNamestring
namespace?string

Returns

Promise<boolean>


loadEpoch()

loadEpoch(modelName, namespace?): Promise<EpochData>

Load epoch data to check for stale indexes.

Parameters

ParameterType
modelNamestring
namespace?string

Returns

Promise<EpochData>


markFilterDirty()

markFilterDirty(modelName, namespace?): void

Mark a filter as dirty (needs persistence).

Parameters

ParameterType
modelNamestring
namespace?string

Returns

void


markIndexDirty()

markIndexDirty(
   modelName, 
   field, 
   namespace?): void

Mark a sorted index as dirty (needs persistence).

Parameters

ParameterType
modelNamestring
fieldstring
namespace?string

Returns

void


persistEpoch()

persistEpoch(modelName, namespace?): Promise<void>

Persist epoch data for stale detection.

Parameters

ParameterType
modelNamestring
namespace?string

Returns

Promise<void>


registerFilter()

registerFilter(
   modelName, 
   filter, 
   namespace?): void

Register a filter for persistence tracking.

Parameters

ParameterType
modelNamestring
filterCuckooFilter
namespace?string

Returns

void


registerSortedIndex()

registerSortedIndex(
   modelName, 
   field, 
   index, 
   namespace?): void

Register a sorted index for persistence tracking.

Parameters

ParameterType
modelNamestring
fieldstring
indexSortedIndex
namespace?string

Returns

void


removeFromMemory()

removeFromMemory(
   modelName, 
   field, 
   namespace?): void

Remove an entry from memory tracking.

Parameters

ParameterType
modelNamestring
fieldstring
namespace?string

Returns

void


scheduleFlush()

scheduleFlush(intervalMs): void

Schedule periodic flush.

Parameters

ParameterType
intervalMsnumber

Returns

void


setupShutdownHandlers()

setupShutdownHandlers(): void

Setup 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?): void

Mark an entry as recently accessed (for LRU ordering).

Parameters

ParameterType
modelNamestring
fieldstring
namespace?string

Returns

void


trackFilterMemory()

trackFilterMemory(
   modelName, 
   filter, 
   namespace?): void

Track memory usage for a filter.

Parameters

ParameterType
modelNamestring
filterCuckooFilter
namespace?string

Returns

void


trackIndexMemory()

trackIndexMemory(
   modelName, 
   field, 
   index, 
   namespace?): void

Track memory usage for a sorted index.

Parameters

ParameterType
modelNamestring
fieldstring
indexSortedIndex
namespace?string

Returns

void

On this page