UNPKG

hamok

Version:

Lightweight Distributed Object Storage on RAFT consensus algorithm

111 lines 8.76 kB
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