# improvements to self-hosted cache hash system · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/cda102be020ef9c5c1425553ff611720f496f17e)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: cda102be020ef9c5c1425553ff611720f496f17e

Requested commit: cda102be020ef9c5c1425553ff611720f496f17e

Commit: cda102be020ef9c5c1425553ff611720f496f17e

Tree: e43393b8686f5eb25fce441a4c41b4cb1190a0f7

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
improvements to self-hosted cache hash system

 * change miscellaneous things to more idiomatic zig style
 * change the digest length to 24 bytes instead of 48. This is
   still 70  more bits than UUIDs. For an analysis of probability of
   collisions, see:
   https://en.wikipedia.org/wiki/Universally_unique_identifier#Collisions
 * fix the API having the possibility of mismatched allocators
 * fix some error paths to behave properly
 * modify the guarantees about when file contents are loaded for input files
 * pwrite instead of seek + write
 * implement isProblematicTimestamp
 * fix tests with regards to a working isProblematicTimestamp function.
   this requires sleeping until the current timestamp becomes
   unproblematic.
 * introduce std.fs.File.INode, a cross platform type abstraction
   so that cache hash implementation does not need to reach into std.os.

```

## Parents

- [6d5ec184ab1a1b8c155714801f7d6cb7ea6f5b8f](https://git.cafe/gitcafe/zig/commit/6d5ec184ab1a1b8c155714801f7d6cb7ea6f5b8f?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/cda102be020ef9c5c1425553ff611720f496f17e?format=markdown)
