WalrusBlobEncoder class
Concrete BlobEncoder using Rust FFI for canonical RS2 encoding.
Usage:
final encoder = WalrusBlobEncoder();
// Full encode (for direct mode)
final encoded = encoder.encodeBlob(rawData, numShards);
// Metadata only (for upload relay)
final metadata = await encoder.computeMetadata(rawData, numShards);
- Inheritance
-
- Object
- BlobEncoder
- WalrusBlobEncoder
Constructors
- WalrusBlobEncoder({int encodingType = kEncodingTypeRS2})
Properties
- encodingType → int
-
Encoding type used for all blobs.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- isNativeAvailable → bool
-
Whether the native FFI encoder is available on this platform.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
computeMetadata(
Uint8List data, int numShards) → Future< BlobMetadata> -
Compute metadata for the given blob data without full encoding.
override
-
computeMetadataSync(
Uint8List data, int numShards) → BlobMetadata -
Synchronous version of computeMetadata suitable for use in
Isolate.run()to avoid blocking the main thread. -
decodeBlob(
{required List< SliverData> primarySlivers, required int numShards, required int unencodedLength}) → Uint8List - Decode (reconstruct) a blob from collected primary slivers.
-
encodeBlob(
Uint8List data, int numShards) → EncodedBlob - Encode a blob into primary and secondary slivers for all shards.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
bcsSliverData(
SliverData sliver) → Uint8List - BCS-encode a SliverData for storage node PUT requests.