DoxigAlpha

addOpenedFile

Same as addFilePath except the file has already been opened.

Function parameters

Parameters

#
m:*Manifest
handle:?fs.File
max_file_size:?usize

Type definitions in this namespace

Types

#

Functions in this namespace

Functions

#
obtain
Be sure to call `Manifest.deinit` after successful initialization.
readSmallFile
On operating systems that support symlinks, does a readlink.
writeSmallFile
On operating systems that support symlinks, does a symlink.

This is 128 bits - Even with 2^54 cache entries, the probably of a collision would be under 10^-6

Values

#
bin_digest_len
This is 128 bits - Even with 2^54 cache entries, the probably of a collision would be under 10^-6
hex_digest_len
= bin_digest_len * 2
hasher_init
Initial state with random bytes, that can be copied.

Source

Implementation

#
pub fn addOpenedFile(m: *Manifest, path: Path, handle: ?fs.File, max_file_size: ?usize) !usize {
    const gpa = m.cache.gpa;
    try m.files.ensureUnusedCapacity(gpa, 1);
    const resolved_path = try fs.path.resolve(gpa, &.{
        path.root_dir.path orelse ".",
        path.subPathOrDot(),
    });
    errdefer gpa.free(resolved_path);
    const prefixed_path = try m.cache.findPrefixResolved(resolved_path);
    return addFileInner(m, prefixed_path, handle, max_file_size);
}