Skip to main content

Checksum32

Type Alias Checksum32 

Source
pub type Checksum32 = fn(u32, &[u8]) -> u32;
Expand description

Continuation-style CRC-32C (Castagnoli, polynomial 0x1EDC_6F41) fold.

checksum(seed, bytes) continues a checksum: seeding with 0 starts a fresh fold, folding further byte runs continues it, and the final fold is the stored value. Implementations MUST satisfy the continuation law f(f(0, a), b) == f(0, ab) and the standard check vector: folding CRC32C_CHECK_INPUT from seed 0 yields CRC32C_CHECK_VALUE (which implies f(0, b"") == 0, the stored value for an empty section).

The container is no_std and deliberately does not bundle a CRC implementation: writers and checked readers inject one. The pure-software oxgraph_layout_util::crc32c_append satisfies this contract, as does the hardware-accelerated crc32c crate’s crc32c_append.

§Performance

Implementations are expected to be O(bytes.len()) per fold.