hamok
Version:
Lightweight Distributed Object Storage on RAFT consensus algorithm
32 lines • 1.81 kB
TypeScript
import { HamokMessage } from './messages/HamokMessage';
import { PendingRequest } from './messages/PendingRequest';
import { PendingResponse } from './messages/PendingResponse';
import { OngoingRequestsNotifier } from './messages/OngoingRequestsNotifier';
import { RaftLogs } from './raft/RaftLogs';
export declare class HamokGrid {
readonly sendMessage: (message: HamokMessage, targetPeerIds?: ReadonlySet<string> | string[] | string) => void;
readonly submit: (message: HamokMessage) => Promise<void>;
readonly waitUntilCommitHead: () => Promise<void>;
readonly ongoingRequestsNotifier: OngoingRequestsNotifier;
readonly remotePeerIds: ReadonlySet<string>;
readonly logs: RaftLogs;
private _getLocalPeerId;
private _getLeaderId;
readonly pendingRequests: Map<string, PendingRequest>;
readonly pendingResponses: Map<string, PendingResponse>;
constructor(sendMessage: (message: HamokMessage, targetPeerIds?: ReadonlySet<string> | string[] | string) => void, submit: (message: HamokMessage) => Promise<void>, waitUntilCommitHead: () => Promise<void>, ongoingRequestsNotifier: OngoingRequestsNotifier, remotePeerIds: ReadonlySet<string>, logs: RaftLogs, _getLocalPeerId: () => string, _getLeaderId: () => string | undefined);
get localPeerId(): string;
get leaderId(): string | undefined;
get connected(): boolean;
request(options: {
message: HamokMessage;
timeoutInMs?: number;
neededResponses?: number;
targetPeerIds?: ReadonlySet<string> | string[] | string;
submit?: boolean;
}): Promise<HamokMessage[]>;
processResponse(message: HamokMessage): void;
purgeResponseForRequest(requestId: string): void;
purgeResponseForRequests(requestIds: string[]): void;
}
//# sourceMappingURL=HamokGrid.d.ts.map