| 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 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 ∷ ∀ backend. (Show (Trace backend), Typeable backend) ⇒ Trace 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.
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 ∷ ∀ backend. (Show (Trace backend), Typeable backend) ⇒ Trace 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 # | |