| Safe Haskell | Safe-Inferred | 
|---|---|
| Language | GHC2021 | 
Database.LSMTree.Internal.ChecksumHandle
Synopsis
- data ChecksumHandle s h = ChecksumHandle !(Handle h) !(PrimVar s CRC32C)
 - makeHandle :: (MonadSTM m, PrimMonad m) => HasFS m h -> FsPath -> m (ChecksumHandle (PrimState m) h)
 - readChecksum :: PrimMonad m => ChecksumHandle (PrimState m) h -> m CRC32C
 - dropCache :: HasBlockIO m h -> ChecksumHandle (PrimState m) h -> m ()
 - closeHandle :: HasFS m h -> ChecksumHandle (PrimState m) h -> m ()
 - writeToHandle :: (MonadSTM m, PrimMonad m) => HasFS m h -> ChecksumHandle (PrimState m) h -> ByteString -> m ()
 - writeRawPage :: (MonadSTM m, PrimMonad m) => HasFS m h -> ForKOps (ChecksumHandle (PrimState m) h) -> RawPage -> m ()
 - writeRawOverflowPages :: (MonadSTM m, PrimMonad m) => HasFS m h -> ForKOps (ChecksumHandle (PrimState m) h) -> [RawOverflowPage] -> m ()
 - writeBlob :: (MonadSTM m, PrimMonad m) => HasFS m h -> PrimVar (PrimState m) Word64 -> ForBlob (ChecksumHandle (PrimState m) h) -> SerialisedBlob -> m BlobSpan
 - copyBlob :: (MonadSTM m, MonadThrow m, PrimMonad m) => HasFS m h -> PrimVar (PrimState m) Word64 -> ForBlob (ChecksumHandle (PrimState m) h) -> RawBlobRef m h -> m BlobSpan
 - writeFilter :: (MonadSTM m, PrimMonad m) => HasFS m h -> ForFilter (ChecksumHandle (PrimState m) h) -> Bloom SerialisedKey -> m ()
 - writeIndexHeader :: (MonadSTM m, PrimMonad m) => HasFS m h -> ForIndex (ChecksumHandle (PrimState m) h) -> IndexType -> m ()
 - writeIndexChunk :: (MonadSTM m, PrimMonad m) => HasFS m h -> ForIndex (ChecksumHandle (PrimState m) h) -> Chunk -> m ()
 - writeIndexFinal :: (MonadSTM m, PrimMonad m) => HasFS m h -> ForIndex (ChecksumHandle (PrimState m) h) -> NumEntries -> Index -> m ()
 
Checksum handles
A handle (ChecksumHandle) that maintains a running CRC32 checksum.
data ChecksumHandle s h Source #
Tracks the checksum of a (write mode) file handle.
Constructors
| ChecksumHandle !(Handle h) !(PrimVar s CRC32C) | 
makeHandle :: (MonadSTM m, PrimMonad m) => HasFS m h -> FsPath -> m (ChecksumHandle (PrimState m) h) Source #
readChecksum :: PrimMonad m => ChecksumHandle (PrimState m) h -> m CRC32C Source #
dropCache :: HasBlockIO m h -> ChecksumHandle (PrimState m) h -> m () Source #
closeHandle :: HasFS m h -> ChecksumHandle (PrimState m) h -> m () Source #
writeToHandle :: (MonadSTM m, PrimMonad m) => HasFS m h -> ChecksumHandle (PrimState m) h -> ByteString -> m () Source #
Specialised writers
writeRawPage :: (MonadSTM m, PrimMonad m) => HasFS m h -> ForKOps (ChecksumHandle (PrimState m) h) -> RawPage -> m () Source #
writeRawOverflowPages :: (MonadSTM m, PrimMonad m) => HasFS m h -> ForKOps (ChecksumHandle (PrimState m) h) -> [RawOverflowPage] -> m () Source #
writeBlob :: (MonadSTM m, PrimMonad m) => HasFS m h -> PrimVar (PrimState m) Word64 -> ForBlob (ChecksumHandle (PrimState m) h) -> SerialisedBlob -> m BlobSpan Source #
copyBlob :: (MonadSTM m, MonadThrow m, PrimMonad m) => HasFS m h -> PrimVar (PrimState m) Word64 -> ForBlob (ChecksumHandle (PrimState m) h) -> RawBlobRef m h -> m BlobSpan Source #
writeFilter :: (MonadSTM m, PrimMonad m) => HasFS m h -> ForFilter (ChecksumHandle (PrimState m) h) -> Bloom SerialisedKey -> m () Source #
writeIndexHeader :: (MonadSTM m, PrimMonad m) => HasFS m h -> ForIndex (ChecksumHandle (PrimState m) h) -> IndexType -> m () Source #
writeIndexChunk :: (MonadSTM m, PrimMonad m) => HasFS m h -> ForIndex (ChecksumHandle (PrimState m) h) -> Chunk -> m () Source #
writeIndexFinal :: (MonadSTM m, PrimMonad m) => HasFS m h -> ForIndex (ChecksumHandle (PrimState m) h) -> NumEntries -> Index -> m () Source #