@darlean/fs-persistence-suite
Version:
File System Persistence Suite that uses a physical or shared file system to persist data.
23 lines (22 loc) • 1.56 kB
TypeScript
/// <reference types="node" />
import { IActivatable, IPersistenceLoadOptions, IPersistenceLoadResult, IPersistenceQueryOptions, IPersistenceQueryResult, IPersistenceService, IPersistenceStoreBatchOptions, IPersistenceStoreBatchResult, IPersistenceStoreOptions, ITypedPortal } from '@darlean/base';
import { FsPersistenceActor } from './syncactor.impl';
import { BufferOf, IDeSer } from '@darlean/utils';
export interface IFsPersistenceServiceOptions {
shardCount: number;
nodes: string[];
}
export declare class FsPersistenceService implements IPersistenceService, IActivatable {
private deser;
private shards;
constructor(options: IFsPersistenceServiceOptions, actorPortal: ITypedPortal<FsPersistenceActor>, deser: IDeSer);
activate(): Promise<void>;
store(options: IPersistenceStoreOptions<Buffer>): Promise<void>;
storeBatch(options: IPersistenceStoreBatchOptions<Buffer>): Promise<IPersistenceStoreBatchResult>;
storeBatchBuffer(options: BufferOf<IPersistenceStoreBatchOptions<Buffer>>): Promise<BufferOf<IPersistenceStoreBatchResult>>;
load(options: IPersistenceLoadOptions): Promise<IPersistenceLoadResult<Buffer>>;
query(options: IPersistenceQueryOptions): Promise<IPersistenceQueryResult<Buffer>>;
queryBuffer(options: IPersistenceQueryOptions): Promise<BufferOf<IPersistenceQueryResult<Buffer>>>;
protected storeBatchImpl(options: IPersistenceStoreBatchOptions<Buffer>): Promise<IPersistenceStoreBatchResult>;
protected deriveShardIdx(partitionKey: string[]): number;
}