@pgxsinkit/pgwasm
Version:
73 lines • 3.01 kB
TypeScript
import type { MetadataFile, TxnRecord, VfsState } from "./state-machine";
export declare const ARENA_HEADER_CHECKSUM_OFFSET = 24;
export declare const METADATA_HEADER_BYTES = 80;
export declare const TXN_FRAME_HEADER_BYTES = 48;
export declare const ACTIVATION_SLOT_BYTES = 128;
export declare const METADATA_HEADER_CHECKSUM_OFFSET = 64;
export declare const FRAME_CHECKSUM_OFFSET = 40;
export declare const ACTIVATION_CHECKSUM_OFFSET = 52;
export interface ArenaHeader {
extentSize: number;
limitsProfileVersion: number;
formatVersion: number;
}
export declare function encodeArenaHeader(options: {
extentSize: number;
}): Uint8Array;
export declare function decodeArenaHeader(bytes: Uint8Array, configuredExtentSize?: number): ArenaHeader;
export interface DecodedMetadataBase {
state: VfsState;
payloadBytes: number;
baseEnd: bigint;
baseDigest: number;
}
export interface MetadataBaseHeader {
formatVersion: number;
limitsProfileVersion: number;
generation: bigint;
extentSize: number;
metadataFileCode: number;
rootInodeId: bigint;
payloadLength: number;
availableCount: number;
quarantineCount: number;
baseEnd: bigint;
}
export declare function inspectMetadataBaseHeader(header: Uint8Array): MetadataBaseHeader;
export declare function encodeMetadataBase(state: VfsState): Uint8Array;
/** @internal The caller must have validated this exact state immediately before encoding it. */
export declare function encodeValidatedMetadataBase(state: VfsState): Uint8Array;
export declare function decodeMetadataBase(bytes: Uint8Array): DecodedMetadataBase;
export interface TxnFrame {
generation: bigint;
sequence: bigint;
record: TxnRecord;
}
export interface TxnFrameHeader {
generation: bigint;
sequence: bigint;
payloadLength: number;
frameBytes: number;
}
export declare function txnFrameBytes(record: TxnRecord): number;
export declare function inspectTxnFrameHeader(header: Uint8Array): TxnFrameHeader;
export declare function encodeTxnFrame(frame: TxnFrame): Uint8Array;
export declare function decodeTxnFrame(bytes: Uint8Array): TxnFrame;
export interface ActivationRecord {
sequence: bigint;
metadataFile: MetadataFile;
generation: bigint;
baseEnd: bigint;
baseDigest: number;
}
export declare function encodeActivationSlot(record: ActivationRecord): Uint8Array;
export declare function decodeActivationSlot(bytes: Uint8Array): ActivationRecord;
export declare function tryDecodeActivationSlot(bytes: Uint8Array): ActivationRecord | null;
export declare function selectActivation(leftBytes: Uint8Array, rightBytes: Uint8Array): ActivationRecord;
export interface ActivationPairSelection {
selected: ActivationRecord;
other: ActivationRecord | null;
}
export declare function selectActivationPair(leftBytes: Uint8Array, rightBytes: Uint8Array): ActivationPairSelection;
export declare function metadataBaseDigest(bytes: Uint8Array): number;
//# sourceMappingURL=codec.d.ts.map