UNPKG

@sailboat-computer/data-storage

Version:

Shared data storage library for sailboat computer v3

74 lines (73 loc) 1.73 kB
/** * Batch manager implementation */ import { BatchManager, BatchConfig, BatchPriorityType, BatchStatus, DataMetadata, StorageProvider } from '../types'; /** * Batch manager implementation */ export declare class BatchManagerImpl implements BatchManager { private provider; private config; private batches; private flushTimer?; private initialized; private stopped; private stats; /** * Create a new batch manager * * @param provider - Storage provider */ constructor(provider: StorageProvider); /** * Initialize the batch manager * * @param config - Batch configuration */ initialize(config: BatchConfig): void; /** * Add data to batch * * @param data - Data to add * @param metadata - Data metadata * @param priority - Batch priority */ addToBatch(data: any, metadata: DataMetadata, priority?: BatchPriorityType): void; /** * Flush all batches */ flush(): Promise<void>; /** * Get batch status * * @returns Batch status */ getBatchStatus(): BatchStatus; /** * Stop the batch manager */ stop(): void; /** * Start timed flush */ private startTimedFlush; /** * Flush a specific category * * @param category - Category to flush */ private flushCategory; /** * Ensure batch manager is initialized * * @throws StorageError if not initialized */ private ensureInitialized; } /** * Create a new batch manager * * @param provider - Storage provider * @returns Batch manager */ export declare function createBatchManager(provider: StorageProvider): BatchManager;