UNPKG

hamok

Version:

Lightweight Distributed Object Storage on RAFT consensus algorithm

47 lines 1.84 kB
import { HamokConnection } from './HamokConnection'; import { BaseMap } from './BaseMap'; import { HamokQueueSnapshot } from '../HamokSnapshot'; import { EventEmitter } from 'events'; export type HamokQueueEventMap<T> = { 'empty': []; 'not-empty': []; 'close': []; 'add': [T]; 'remove': [T]; }; export type HamokQueueConfig = { queueId: string; maxQueueSize?: number; }; export declare interface HamokQueue<T> { on<U extends keyof HamokQueueEventMap<T>>(event: U, listener: (...args: HamokQueueEventMap<T>[U]) => void): this; off<U extends keyof HamokQueueEventMap<T>>(event: U, listener: (...args: HamokQueueEventMap<T>[U]) => void): this; once<U extends keyof HamokQueueEventMap<T>>(event: U, listener: (...args: HamokQueueEventMap<T>[U]) => void): this; emit<U extends keyof HamokQueueEventMap<T>>(event: U, ...args: HamokQueueEventMap<T>[U]): boolean; } export declare class HamokQueue<T> extends EventEmitter { readonly connection: HamokConnection<number, T>; readonly baseMap: BaseMap<number, T>; private _head; private _tail; private _closed; private _initializing?; constructor(connection: HamokConnection<number, T>, baseMap: BaseMap<number, T>); get id(): string; get empty(): boolean; get size(): number; get closed(): boolean; get ready(): Promise<this>; push(...values: T[]): Promise<void>; pop(): Promise<T | undefined>; peek(): T | undefined; clear(): Promise<void>; [Symbol.iterator](): IterableIterator<T>; close(): void; export(): HamokQueueSnapshot; import(snapshot: HamokQueueSnapshot, eventing?: boolean): void; private _import; private _pop; static uint8ArrayToStringCodec: import("../common/HamokCodec").HamokCodec<Uint8Array[], string[]>; } //# sourceMappingURL=HamokQueue.d.ts.map