def decode.checksum.copies

mylsm-lsm-store@0.6.0.1 · src/ByteManifest.bend:181

import mylsm-lsm-store@0.6.0.1/src/ByteManifest.bend as ByteManifest
import Base
import mylsm-lsm-store@0.6.0.1/src/hub_sha/sha256.bend as SHA
import bend-kit-bytes@0.3.2.0/bytes.bend as Bytes

181# Hashes one owned copy and compares the other with the stored digest.
182def decode.checksum.copies(
183  value: ManifestValue,
184  +offset: U32,
185  copies: Bytes.Bytes & Bytes.Bytes
186) -> Result<&1, &1, Error, ManifestValue>:
187  match copies:
188    case (for_hash, for_digest):
189      decode.checksum.compare(value,
190        equal(Bytes.eq(SHA.sha256_packed_bytes(slice.result(
191          Bytes.slice(for_hash, 0, offset))),
192          slice.result(Bytes.slice(for_digest, offset, 32)))))

Uses (13)

Used by (1)