Skip to main content

Class: ChunkSplitter

Defined in: core-sdk/src/chunk/splitter.ts:66

Splits arbitrary data into a tree of 4096-byte chunks (the inverse of ChunkJoiner), calling onBatch with each level's sealed chunks as they fill up - e.g. to upload them, or (via erasure-coding/batch.ts) to add Reed-Solomon parity chunks.

Constructors

Constructor

new ChunkSplitter(onBatch, maxShards?, encrypted?, onIntermediateChunk?): ChunkSplitter

Defined in: core-sdk/src/chunk/splitter.ts:90

Parameters

onBatch

(batch) => Promise<ChunkEntry[]>

Called with each level's sealed chunks as a batch fills up; return any parity entries to append as extra references (empty array for no redundancy).

maxShards?

number

Max data-chunk references per intermediate node. Defaults to as many as fit in one 4096-byte node; pass a smaller value (e.g. via erasure-coding's getMaxShards) to leave room for parity refs.

encrypted?

boolean

onIntermediateChunk?

(chunk, hasParity) => void

Called with each intermediate chunk as it's sealed, so callers can tag it (e.g. encoding a redundancy level into its span).

Returns

ChunkSplitter

Properties

NOOP()

readonly static NOOP: (_) => Promise<ChunkEntry[]>

Defined in: core-sdk/src/chunk/splitter.ts:67

Parameters

_

ChunkEntry[]

Returns

Promise<ChunkEntry[]>

Methods

append()

append(data, level?, spanIncrement?): Promise<void>

Defined in: core-sdk/src/chunk/splitter.ts:132

Appends more data to the tree, sealing and elevating chunks as needed. level/spanIncrement are internal - callers building a tree from raw input data should always call this at the default level 0.

Parameters

data

Uint8Array

level?

number

spanIncrement?

bigint

Returns

Promise<void>


finalize()

finalize(level?): Promise<ChunkBuilder>

Defined in: core-sdk/src/chunk/splitter.ts:217

Seals every level and returns the tree's root chunk. level is internal - callers should always start at the default level 0.

Parameters

level?

number

Returns

Promise<ChunkBuilder>


encryptedRoot()

static encryptedRoot(data): Promise<{ address: Reference; key: Uint8Array; }>

Defined in: core-sdk/src/chunk/splitter.ts:119

Splits data into an encrypted chunk tree (no upload callback) and returns the root's encrypted address and key.

Parameters

data

Uint8Array

Returns

Promise<{ address: Reference; key: Uint8Array; }>


root()

static root(data): Promise<ChunkBuilder>

Defined in: core-sdk/src/chunk/splitter.ts:108

Splits data into a chunk tree (no redundancy, no encryption, no upload callback) and returns just its root chunk.

Parameters

data

Uint8Array

Returns

Promise<ChunkBuilder>

💬 Get Help