Changes for version 0.03 - 2022-11-06
- DataStore::CAS:
- New API methods ->calculate_hash and ->calculate_file_hash
- During all ->put methods, calculate the hash first before writing a stream, (if the source is a scalar or a file) to avoid unnecessary writes.
- Allow scalar-refs to be passed to ->put_scalar to avoid copying large scalars.
- Do not inspect is_utf8 flag during ->put_scalar. Require caller to provide bytes, and die if given a character > 255.
- New ->put_file option { move => 1 }, renames the source file into the CAS unlinking the original even if it was a duplicate.
- DataStore::CAS::Simple:
- New option '=' as last element of ->fanout causes content files to be named with the full hash as the filename, instead of the remainder of the hash that wasn't part of the directories.
- Remove attribute _fanout_regex which never should have been documented as if it were public.
- New methods ->path_parts_for_hash and ->path_for_hash
- Raise the limits on max directory fanout
Modules
Abstract base class for Content Addressable Storage
Object returned by DataStore::CAS describing a CAS entry
Handle-emulation object used for writing content into a CAS
Simple file/directory based CAS implementation
In-memory CAS for debugging and testing
Handy base class for virtual filehandles
Provides
in lib/DataStore/CAS.pm
in lib/DataStore/CAS.pm
in lib/DataStore/CAS/Simple.pm
in lib/DataStore/CAS.pm