A11 TypeScript API - v0.2.1
    Preparing search index...

    Interface ChunkStore

    Pluggable ordered log behind an A11 node stream.

    AsyncNode, ChunkStoreReader, and ChunkStoreWriter depend on this contract rather than a particular database. Implement it to keep an agent's stream data in a durable or distributed backend. Sequence order is the logical order consumed by nodes; arrival order is retained separately so out-of-order network fragments can also be inspected.

    A final fragment (continued === false) establishes the stream's final sequence. Closing writes records producer success/failure and releases waiters, but does not create that final fragment itself.

    interface ChunkStore {
        clearData(seq: number): Promise<StatusOr<NodeFragment>>;
        closeWritesWithStatus(
            status: Status,
            returnStatusIfAlreadyClosed?: boolean,
        ): Promise<Status>;
        get(seq: number, deadline?: Deadline): Promise<StatusOr<NodeFragment>>;
        getByArrivalOrder(
            arrivalOrder: number,
            deadline?: Deadline,
        ): Promise<StatusOr<NodeFragment>>;
        getFinalSeq(): Promise<StatusOr<number | null>>;
        getId(): StatusOr<string>;
        getSeqForArrivalOrder(arrivalOrder: number): Promise<StatusOr<number>>;
        next(
            deadline?: Deadline,
            limit?: number,
        ): Promise<StatusOr<(NodeFragment | null)[]>>;
        put(fragment: NodeFragment): Promise<StatusOr<number>>;
        putMany(fragments: readonly NodeFragment[]): Promise<StatusOr<number[]>>;
        size(): Promise<StatusOr<number>>;
    }

    Implemented by

    Index
    • Seal writes with a producer terminal status and release waiting readers.

      Parameters

      • status: Status
      • OptionalreturnStatusIfAlreadyClosed: boolean

      Returns Promise<Status>

    • Translate a zero-based arrival position to its logical sequence.

      Parameters

      • arrivalOrder: number

      Returns Promise<StatusOr<number>>