| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Test.Consensus.PeerSimulator.StateDiagram
Description
A pretty-printer and tracer that shows the current peer simulator state in a block tree, highlighting the candidate fragments, selection, and forks in different colors, omitting uninteresting segments.
Synopsis
- data PeerSimState blk = PeerSimState {
- pssBlockTree ∷ BlockTree blk
- pssSelection ∷ AnchoredFragment (Header blk)
- pssCandidates ∷ Map PeerId (AnchoredFragment (Header blk))
- pssPoints ∷ Map PeerId (NodeState blk)
- data RenderConfig = RenderConfig {}
- defaultRenderConfig ∷ RenderConfig
- peerSimStateDiagram ∷ (HasHeader blk, Eq (Header blk), GetHeader blk) ⇒ PeerSimState blk → String
- peerSimStateDiagramSTMTracer ∷ (IOLike m, HasHeader blk, Eq (Header blk), GetHeader blk) ⇒ Tracer m String → BlockTree blk → STM m (AnchoredFragment (Header blk)) → STM m (Map PeerId (AnchoredFragment (Header blk))) → STM m (Map PeerId (Maybe (NodeState blk))) → m (Tracer m ())
- peerSimStateDiagramSTMTracerDebug ∷ (IOLike m, HasHeader blk, Eq (Header blk), GetHeader blk) ⇒ BlockTree blk → STM m (AnchoredFragment (Header blk)) → STM m (Map PeerId (AnchoredFragment (Header blk))) → STM m (Map PeerId (Maybe (NodeState blk))) → m (Tracer m ())
- peerSimStateDiagramTracer ∷ ∀ blk (m ∷ Type → Type). (HasHeader blk, Eq (Header blk), GetHeader blk) ⇒ Tracer m String → Tracer m (PeerSimState blk)
- peerSimStateDiagramWith ∷ (Eq (Header blk), HasHeader blk, GetHeader blk) ⇒ RenderConfig → PeerSimState blk → (String, Map PeerId Word64)
Documentation
data PeerSimState blk Source #
All inputs for the state diagram printer.
Constructors
| PeerSimState | |
Fields
| |
data RenderConfig Source #
Constructors
| RenderConfig | |
Fields | |
peerSimStateDiagram ∷ (HasHeader blk, Eq (Header blk), GetHeader blk) ⇒ PeerSimState blk → String Source #
peerSimStateDiagramSTMTracer ∷ (IOLike m, HasHeader blk, Eq (Header blk), GetHeader blk) ⇒ Tracer m String → BlockTree blk → STM m (AnchoredFragment (Header blk)) → STM m (Map PeerId (AnchoredFragment (Header blk))) → STM m (Map PeerId (Maybe (NodeState blk))) → m (Tracer m ()) Source #
Construct a stateful tracer that prints the current peer simulator state in a block tree, highlighting the candidate fragments, selection, and forks in different colors, omitting uninteresting segments.
Since the tracer gets its input from concurrent state, it takes only a dummy
() value as its argument.
peerSimStateDiagramSTMTracerDebug ∷ (IOLike m, HasHeader blk, Eq (Header blk), GetHeader blk) ⇒ BlockTree blk → STM m (AnchoredFragment (Header blk)) → STM m (Map PeerId (AnchoredFragment (Header blk))) → STM m (Map PeerId (Maybe (NodeState blk))) → m (Tracer m ()) Source #
Construct a stateful tracer that prints the current peer simulator state in a block tree, highlighting the candidate fragments, selection, and forks in different colors, omitting uninteresting segments.
Since the tracer gets its input from concurrent state, it takes only a dummy
() value as its argument.
This variant uses the global debug tracer.
peerSimStateDiagramTracer ∷ ∀ blk (m ∷ Type → Type). (HasHeader blk, Eq (Header blk), GetHeader blk) ⇒ Tracer m String → Tracer m (PeerSimState blk) Source #
Construct a tracer that prints the current peer simulator state in a block tree, highlighting the candidate fragments, selection, and forks in different colors, omitting uninteresting segments.
peerSimStateDiagramWith ∷ (Eq (Header blk), HasHeader blk, GetHeader blk) ⇒ RenderConfig → PeerSimState blk → (String, Map PeerId Word64) Source #
Pretty-print the current peer simulator state in a block tree, highlighting the candidate fragments, selection, and forks in different colors, omitting uninteresting segments.