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 #