Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Consensus.Storage.LedgerDB.V2.Backend
Contents
Description
Common interface for LedgerDB V2 backends
Synopsis
- class NoThunks (Resources m backend) ⇒ Backend (m ∷ Type → Type) backend blk where
- data Args (m ∷ Type → Type) backend
- data Resources (m ∷ Type → Type) backend
- data Trace (m ∷ Type → Type) backend
- mkResources ∷ Proxy blk → Tracer m LedgerDBV2Trace → Args m backend → ResourceRegistry m → SomeHasFS m → m (Resources m backend)
- releaseResources ∷ Proxy blk → Resources m backend → m ()
- newHandleFromValues ∷ Tracer m LedgerDBV2Trace → ResourceRegistry m → Resources m backend → ExtLedgerState blk ValuesMK → m (LedgerTablesHandle m (ExtLedgerState blk))
- newHandleFromSnapshot ∷ Tracer m LedgerDBV2Trace → ResourceRegistry m → CodecConfig blk → SomeHasFS m → Resources m backend → DiskSnapshot → ExceptT (SnapshotFailure blk) m (LedgerSeq' m blk, RealPoint blk)
- snapshotManager ∷ Proxy blk → Resources m backend → CodecConfig blk → Tracer m (TraceSnapshotEvent blk) → SomeHasFS m → SnapshotManager m m blk (StateRef m (ExtLedgerState blk))
- data SomeBackendTrace where
- SomeBackendTrace ∷ ∀ (m ∷ Type → Type) backend. Show (Trace m backend) ⇒ Trace m backend → SomeBackendTrace
- data SomeBackendArgs (m ∷ Type → Type) blk where
- SomeBackendArgs ∷ ∀ (m ∷ Type → Type) backend blk. Backend m backend blk ⇒ Args m backend → SomeBackendArgs m blk
- data SomeResources (m ∷ Type → Type) blk where
- SomeResources ∷ ∀ (m ∷ Type → Type) backend blk. Backend m backend blk ⇒ Resources m backend → SomeResources m blk
- data LedgerDBV2Trace
Backend API
class NoThunks (Resources m backend) ⇒ Backend (m ∷ Type → Type) backend blk where Source #
Operations needed to open and operate a LedgerDB V2
Associated Types
data Args (m ∷ Type → Type) backend Source #
The Arguments that will be used initially to create the Resources
.
data Resources (m ∷ Type → Type) backend Source #
The Resources that will be stored in the LedgerDB environment and given to the handle operations.
data Trace (m ∷ Type → Type) backend Source #
A trace dependent on the particular backend.
Methods
mkResources ∷ Proxy blk → Tracer m LedgerDBV2Trace → Args m backend → ResourceRegistry m → SomeHasFS m → m (Resources m backend) Source #
releaseResources ∷ Proxy blk → Resources m backend → m () Source #
Release the acquired resources.
newHandleFromValues ∷ Tracer m LedgerDBV2Trace → ResourceRegistry m → Resources m backend → ExtLedgerState blk ValuesMK → m (LedgerTablesHandle m (ExtLedgerState blk)) Source #
Create a new handle from the given values. This will only be called when starting Consensus from Genesis.
newHandleFromSnapshot ∷ Tracer m LedgerDBV2Trace → ResourceRegistry m → CodecConfig blk → SomeHasFS m → Resources m backend → DiskSnapshot → ExceptT (SnapshotFailure blk) m (LedgerSeq' m blk, RealPoint blk) Source #
Create a new handle from a snapshot.
snapshotManager ∷ Proxy blk → Resources m backend → CodecConfig blk → Tracer m (TraceSnapshotEvent blk) → SomeHasFS m → SnapshotManager m m blk (StateRef m (ExtLedgerState blk)) Source #
Instantiate the SnapshotManager
for this backend.
Instances
(IOLike m, LedgerDbSerialiseConstraints blk, LedgerSupportsProtocol blk, LedgerSupportsInMemoryLedgerDB (LedgerState blk)) ⇒ Backend m Mem blk Source # | |
Defined in Ouroboros.Consensus.Storage.LedgerDB.V2.InMemory Methods mkResources ∷ Proxy blk → Tracer m LedgerDBV2Trace → Args m Mem → ResourceRegistry m → SomeHasFS m → m (Resources m Mem) Source # releaseResources ∷ Proxy blk → Resources m Mem → m () Source # newHandleFromValues ∷ Tracer m LedgerDBV2Trace → ResourceRegistry m → Resources m Mem → ExtLedgerState blk ValuesMK → m (LedgerTablesHandle m (ExtLedgerState blk)) Source # newHandleFromSnapshot ∷ Tracer m LedgerDBV2Trace → ResourceRegistry m → CodecConfig blk → SomeHasFS m → Resources m Mem → DiskSnapshot → ExceptT (SnapshotFailure blk) m (LedgerSeq' m blk, RealPoint blk) Source # snapshotManager ∷ Proxy blk → Resources m Mem → CodecConfig blk → Tracer m (TraceSnapshotEvent blk) → SomeHasFS m → SnapshotManager m m blk (StateRef m (ExtLedgerState blk)) Source # |
Existentials
data SomeBackendTrace where Source #
Constructors
SomeBackendTrace ∷ ∀ (m ∷ Type → Type) backend. Show (Trace m backend) ⇒ Trace m backend → SomeBackendTrace |
Instances
Show SomeBackendTrace Source # | |
Defined in Ouroboros.Consensus.Storage.LedgerDB.V2.Backend Methods showsPrec ∷ Int → SomeBackendTrace → ShowS # show ∷ SomeBackendTrace → String # showList ∷ [SomeBackendTrace] → ShowS # |
data SomeBackendArgs (m ∷ Type → Type) blk where Source #
Constructors
SomeBackendArgs ∷ ∀ (m ∷ Type → Type) backend blk. Backend m backend blk ⇒ Args m backend → SomeBackendArgs m blk |
data SomeResources (m ∷ Type → Type) blk where Source #
Constructors
SomeResources ∷ ∀ (m ∷ Type → Type) backend blk. Backend m backend blk ⇒ Resources m backend → SomeResources m blk |
Instances
NoThunks (SomeResources m blk) Source # | |
Tracing
data LedgerDBV2Trace Source #
Constructors
TraceLedgerTablesHandleCreate | Created a new |
TraceLedgerTablesHandleClose | Closed a |
BackendTrace SomeBackendTrace |
Instances
Show SomeBackendTrace ⇒ Show LedgerDBV2Trace Source # | |
Defined in Ouroboros.Consensus.Storage.LedgerDB.V2.Backend Methods showsPrec ∷ Int → LedgerDBV2Trace → ShowS # show ∷ LedgerDBV2Trace → String # showList ∷ [LedgerDBV2Trace] → ShowS # |