ChunkMetadata class
Describes one data chunk stored as part of a RAID stripe.
Metadata is serialised to JSON and saved in a companion .meta file
next to every .chunk file.
Constructors
- ChunkMetadata({required String filename, required int chunkIndex, required int totalChunks, required int diskIndex, required int originalSize, required String checksum, int? totalFileSize, String? parityChecksum, bool isParityChunk = false, bool compressed = false, bool encrypted = false, String raidType = 'raid5', DateTime? createdAt})
- Creates a ChunkMetadata.
-
ChunkMetadata.fromJson(Map<
String, dynamic> map) -
Deserialises from a JSON-compatible Map.
factory
- ChunkMetadata.fromJsonString(String source)
-
Deserialises from a JSON String.
factory
Properties
- checksum → String
-
SHA-256 hex digest of the raw (post-compress/encrypt) chunk bytes.
final
- chunkIndex → int
-
Zero-based index of this chunk within the stripe.
final
- compressed → bool
-
Whether the payload was DEFLATE-compressed before writing.
final
- createdAt → DateTime
-
When this chunk was first written.
final
- diskIndex → int
-
The physical disk index this chunk was written to.
final
- encrypted → bool
-
Whether the payload was AES-256 encrypted before writing.
final
- filename → String
-
The logical filename this chunk belongs to.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- isParityChunk → bool
-
True when this metadata describes a parity chunk, not a data chunk.
final
- originalSize → int
-
Byte size of the original (un-padded) chunk data.
final
- parityChecksum → String?
-
SHA-256 hex digest of the parity block for this stripe row (nullable).
final
- raidType → String
-
RAID type string (e.g. 'raid0', 'raid1', 'raid5').
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- totalChunks → int
-
Total number of data chunks in the stripe (excludes parity).
final
- totalFileSize → int?
-
Total byte size of the whole logical file (all chunks combined, un-padded).
final
Methods
-
copyWith(
{String? filename, int? chunkIndex, int? totalChunks, int? diskIndex, int? originalSize, int? totalFileSize, String? checksum, String? parityChecksum, bool? isParityChunk, bool? compressed, bool? encrypted, String? raidType, DateTime? createdAt}) → ChunkMetadata - Returns a copy with optional overrides.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toJson(
) → Map< String, dynamic> - Serialises to a JSON-compatible Map.
-
toJsonBytes(
) → Uint8List - Encodes to UTF-8 JSON bytes ready to be written to disk.
-
toJsonString(
) → String - Encodes to a JSON String.
-
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited