| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Ouroboros.Consensus.Storage.VolatileDB.Impl.Util
Synopsis
- parseFd :: FsPath -> Maybe FileId
- parseAllFds :: [FsPath] -> ([(FileId, FsPath)], [FsPath])
- filePath :: FileId -> FsPath
- findLastFd :: [FsPath] -> (Maybe FileId, [FsPath])
- wrapFsError :: MonadCatch m => m a -> m a
- tryVolatileDB :: forall m a. MonadCatch m => m a -> m (Either VolatileDBError a)
- insertMapSet :: forall k v. (Ord k, Ord v) => k -> v -> Map k (Set v) -> Map k (Set v)
- deleteMapSet :: forall k v. (Ord k, Ord v) => k -> v -> Map k (Set v) -> Map k (Set v)
FileId utilities
findLastFd :: [FsPath] -> (Maybe FileId, [FsPath]) Source #
This also returns any FsPath which failed to parse.
Exception handling
wrapFsError :: MonadCatch m => m a -> m a Source #
tryVolatileDB :: forall m a. MonadCatch m => m a -> m (Either VolatileDBError a) Source #
Execute an action and catch the VolatileDBError and FsError that can
be thrown by it, and wrap the FsError in an VolatileDBError using the
FileSystemError constructor.
This should be used whenever you want to run an action on the VolatileDB
and catch the VolatileDBError and the FsError (wrapped in the former)
it may thrown.