PqFolderPack class abstract final

Bounded-memory sequential packer/unpacker for folder trees.

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

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

pack({required RandomAccessFile sink, required List<PqPackEntry> entries, int chunkSize = 1 << 20}) Future<int>
Writes entries to sink sequentially. Returns the entry count.
packStream(List<PqPackEntry> entries, {int chunkSize = 1 << 20}) Stream<List<int>>
Emits entries as one sequential pack stream — the streaming counterpart of pack, for piping straight into an AEAD writer so the plaintext pack never exists on disk. Bounded memory: one chunk in flight at a time.
unpack({required RandomAccessFile source, required String outputDirPath, int chunkSize = 1 << 20}) Future<int>
Reads a pack from source and materializes each entry under outputDirPath. Every path is re-validated against traversal. Returns the entry count.
unpackFromStream(Stream<Uint8List> source, {required String outputDirPath}) Future<int>
Restores a folder tree from a pack source stream (e.g. the authenticated plaintext frames of PqForgeStreamCipher.decryptStream) under outputDirPath. Every path is re-validated against traversal.

Constants

maxPathBytes → const int
Largest accepted archive path length (defensive bound on untrusted input).