hamok
Version:
Lightweight Distributed Object Storage on RAFT consensus algorithm
111 lines • 8.76 kB
TypeScript
import { HamokCodec } from '../common/HamokCodec';
import { EntryUpdatedNotification, UpdateEntriesNotification, UpdateEntriesRequest, UpdateEntriesResponse } from './messagetypes/UpdateEntries';
import { HamokMessage as Message } from './HamokMessage';
import { ClearEntriesNotification, ClearEntriesRequest, ClearEntriesResponse } from './messagetypes/ClearEntries';
import { GetEntriesRequest, GetEntriesResponse } from './messagetypes/GetEntries';
import { GetKeysRequest, GetKeysResponse } from './messagetypes/GetKeys';
import { DeleteEntriesNotification, DeleteEntriesRequest, DeleteEntriesResponse } from './messagetypes/DeleteEntries';
import { EntriesRemovedNotification, RemoveEntriesNotification, RemoveEntriesRequest, RemoveEntriesResponse } from './messagetypes/RemoveEntries';
import { EntriesInsertedNotification, InsertEntriesNotification, InsertEntriesRequest, InsertEntriesResponse } from './messagetypes/InsertEntries';
import { GetSizeRequest, GetSizeResponse } from './messagetypes/GetSize';
import { StorageAppliedCommitNotification } from './messagetypes/StorageAppliedCommit';
import { StorageHelloNotification } from './messagetypes/StorageHelloNotification';
import { StorageStateNotification } from './messagetypes/StorageStateNotification';
type Input<K, V> = ClearEntriesNotification | ClearEntriesRequest | ClearEntriesResponse | GetEntriesRequest<K> | GetEntriesResponse<K, V> | GetKeysRequest | GetKeysResponse<K> | GetSizeRequest | GetSizeResponse | DeleteEntriesNotification<K> | DeleteEntriesRequest<K> | DeleteEntriesResponse<K> | RemoveEntriesNotification<K> | RemoveEntriesRequest<K> | RemoveEntriesResponse<K, V> | EntriesRemovedNotification<K, V> | InsertEntriesNotification<K, V> | InsertEntriesRequest<K, V> | InsertEntriesResponse<K, V> | EntriesInsertedNotification<K, V> | UpdateEntriesNotification<K, V> | UpdateEntriesRequest<K, V> | UpdateEntriesResponse<K, V> | EntryUpdatedNotification<K, V> | StorageAppliedCommitNotification | StorageHelloNotification | StorageStateNotification;
export type StorageCodecMessageMap<K, V> = {
ClearEntriesRequest: ClearEntriesRequest;
ClearEntriesResponse: ClearEntriesResponse;
ClearEntriesNotification: ClearEntriesNotification;
GetEntriesRequest: GetEntriesRequest<K>;
GetEntriesResponse: GetEntriesResponse<K, V>;
GetKeysRequest: GetKeysRequest;
GetKeysResponse: GetKeysResponse<K>;
GetSizeRequest: GetSizeRequest;
GetSizeResponse: GetSizeResponse;
DeleteEntriesRequest: DeleteEntriesRequest<K>;
DeleteEntriesResponse: DeleteEntriesResponse<K>;
DeleteEntriesNotification: DeleteEntriesNotification<K>;
RemoveEntriesRequest: RemoveEntriesRequest<K>;
RemoveEntriesResponse: RemoveEntriesResponse<K, V>;
RemoveEntriesNotification: RemoveEntriesNotification<K>;
EntriesRemovedNotification: EntriesRemovedNotification<K, V>;
InsertEntriesRequest: InsertEntriesRequest<K, V>;
InsertEntriesResponse: InsertEntriesResponse<K, V>;
InsertEntriesNotification: InsertEntriesNotification<K, V>;
EntriesInsertedNotification: EntriesInsertedNotification<K, V>;
UpdateEntriesRequest: UpdateEntriesRequest<K, V>;
UpdateEntriesResponse: UpdateEntriesResponse<K, V>;
UpdateEntriesNotification: UpdateEntriesNotification<K, V>;
EntryUpdatedNotification: EntryUpdatedNotification<K, V>;
StorageAppliedCommitNotification: StorageAppliedCommitNotification;
StorageHelloNotification: StorageHelloNotification;
StorageStateNotification: StorageStateNotification;
};
export declare class StorageCodec<K, V> implements HamokCodec<Input<K, V>, Message> {
readonly keyCodec: HamokCodec<K, Uint8Array>;
readonly valueCodec: HamokCodec<V, Uint8Array>;
private static readonly strCodec;
constructor(keyCodec: HamokCodec<K, Uint8Array>, valueCodec: HamokCodec<V, Uint8Array>);
encode(input: Input<K, V>, callback?: <U extends keyof StorageCodecMessageMap<K, V>>(type: U, message: Message) => void): Message;
decode(message: Message, callback?: <U extends keyof StorageCodecMessageMap<K, V>>(type: U, output: StorageCodecMessageMap<K, V>[U]) => void): Input<K, V>;
encodeStorageHelloNotification(notification: StorageHelloNotification): Message;
decodeStorageHelloNotification(message: Message): StorageHelloNotification;
encodeStorageStateNotification(storageState: StorageStateNotification): Message;
decodeStorageStateNotification(message: Message): StorageStateNotification;
encodeClearEntriesRequest(request: ClearEntriesRequest): Message;
decodeClearEntriesRequest(message: Message): ClearEntriesRequest;
encodeClearEntriesResponse(response: ClearEntriesResponse): Message;
decodeClearEntriesResponse(message: Message): ClearEntriesResponse;
encodeClearEntriesNotification(notification: ClearEntriesNotification): Message;
decodeClearEntriesNotification(message: Message): ClearEntriesNotification;
encodeGetEntriesRequest(request: GetEntriesRequest<K>): Message;
decodeGetEntriesRequest(message: Message): GetEntriesRequest<K>;
encodeGetEntriesResponse(response: GetEntriesResponse<K, V>): Message;
decodeGetEntriesResponse(message: Message): GetEntriesResponse<K, V>;
encodeGetSizeRequest(request: GetSizeRequest): Message;
decodeGetSizeRequest(message: Message): GetSizeRequest;
encodeGetSizeResponse(response: GetSizeResponse): Message;
decodeGetSizeResponse(message: Message): GetSizeResponse;
encodeGetKeysRequest(request: GetKeysRequest): Message;
decodeGetKeysRequest(message: Message): GetKeysRequest;
encodeGetKeysResponse(response: GetKeysResponse<K>): Message;
decodeGetKeysResponse(message: Message): GetKeysResponse<K>;
encodeDeleteEntriesRequest(request: DeleteEntriesRequest<K>): Message;
decodeDeleteEntriesRequest(message: Message): DeleteEntriesRequest<K>;
encodeDeleteEntriesResponse(response: DeleteEntriesResponse<K>): Message;
decodeDeleteEntriesResponse(message: Message): DeleteEntriesResponse<K>;
encodeDeleteEntriesNotification(notification: DeleteEntriesNotification<K>): Message;
decodeDeleteEntriesNotification(message: Message): DeleteEntriesNotification<K>;
encodeRemoveEntriesRequest(request: RemoveEntriesRequest<K>): Message;
decodeRemoveEntriesRequest(message: Message): RemoveEntriesRequest<K>;
encodeRemoveEntriesResponse(response: RemoveEntriesResponse<K, V>): Message;
decodeRemoveEntriesResponse(message: Message): RemoveEntriesResponse<K, V>;
encodeRemoveEntriesNotification(notification: RemoveEntriesNotification<K>): Message;
decodeRemoveEntriesNotification(message: Message): RemoveEntriesNotification<K>;
encodeEntriesRemovedNotification(notification: EntriesRemovedNotification<K, V>): Message;
decodeEntriesRemovedNotification(message: Message): EntriesRemovedNotification<K, V>;
encodeInsertEntriesRequest(request: InsertEntriesRequest<K, V>): Message;
decodeInsertEntriesRequest(message: Message): InsertEntriesRequest<K, V>;
encodeInsertEntriesResponse(response: InsertEntriesResponse<K, V>): Message;
decodeInsertEntriesResponse(message: Message): InsertEntriesResponse<K, V>;
encodeInsertEntriesNotification(notification: InsertEntriesNotification<K, V>): Message;
decodeInsertEntriesNotification(message: Message): InsertEntriesNotification<K, V>;
encodeEntriesInsertedNotification(notification: EntriesInsertedNotification<K, V>): Message;
decodeEntriesInsertedNotification(message: Message): EntriesInsertedNotification<K, V>;
encodeUpdateEntriesRequest(request: UpdateEntriesRequest<K, V>): Message;
decodeUpdateEntriesRequest(message: Message): UpdateEntriesRequest<K, V>;
encodeUpdateEntriesResponse(response: UpdateEntriesResponse<K, V>): Message;
decodeUpdateEntriesResponse(message: Message): UpdateEntriesResponse<K, V>;
encodeUpdateEntriesNotification(notification: UpdateEntriesNotification<K, V>): Message;
decodeUpdateEntriesNotification(message: Message): UpdateEntriesNotification<K, V>;
encodeEntryUpdatedNotification(notification: EntryUpdatedNotification<K, V>): Message;
decodeEntryUpdatedNotification(message: Message): EntryUpdatedNotification<K, V>;
encodeStorageAppliedCommitNotification(notification: StorageAppliedCommitNotification): Message;
decodeStorageAppliedCommitNotification(message: Message): StorageAppliedCommitNotification;
encodeKeys(keys: ReadonlySet<K>): Uint8Array[];
decodeKeys(keys: Uint8Array[]): ReadonlySet<K>;
encodeEntries(entries: ReadonlyMap<K, V>): [keys: Uint8Array[], values: Uint8Array[]];
decodeEntries(keys: Uint8Array[], values: Uint8Array[]): ReadonlyMap<K, V>;
}
export {};
//# sourceMappingURL=StorageCodec.d.ts.map