UNPKG

hamok

Version:

Lightweight Distributed Object Storage on RAFT consensus algorithm

31 lines 1.55 kB
import { HamokMessage } from '../messages/HamokMessage'; import { LogEntry } from './LogEntry'; export declare const logger: import("pino").default.Logger<never>; export type RaftLogsEventMap = { committed: [commitIndex: number, message: HamokMessage]; removed: [commitIndex: number, message: HamokMessage]; }; export type MemoryStoredRaftLogsConfig = { expirationTimeInMs: number; memorySizeHighWaterMark: number; }; export interface RaftLogs { readonly commitIndex: number; readonly nextIndex: number; readonly firstIndex: number; readonly size: number; readonly bytesInMemory: number; commitUntil(newCommitIndex: number): Readonly<LogEntry[]>; submit(term: number, entry: HamokMessage): number; compareAndOverride(index: number, expectedTerm: number, entry: HamokMessage): LogEntry | undefined; compareAndAdd(expectedNextIndex: number, term: number, entry: HamokMessage): boolean; removeUntil(index: number): void; get(index: number): LogEntry | undefined; collectEntries(startIndex: number, endIndex?: number): LogEntry[]; [Symbol.iterator](): IterableIterator<LogEntry>; reset(newCommitIndex: number): void; on<U extends keyof RaftLogsEventMap>(event: U, listener: (...args: RaftLogsEventMap[U]) => void): this; once<U extends keyof RaftLogsEventMap>(event: U, listener: (...args: RaftLogsEventMap[U]) => void): this; off<U extends keyof RaftLogsEventMap>(event: U, listener: (...args: RaftLogsEventMap[U]) => void): this; } //# sourceMappingURL=RaftLogs.d.ts.map