module Cardano.Network.LedgerPeerConsensusInterface
( LedgerPeersConsensusInterface (..)
, FetchMode (..)
, LedgerStateJudgement (..)
, OutboundConnectionsState (..)
) where
import Control.Concurrent.Class.MonadSTM (MonadSTM (..))
import Ouroboros.Network.BlockFetch.ConsensusInterface (FetchMode (..))
import Cardano.Network.LedgerStateJudgement
import Cardano.Network.PeerSelection.LocalRootPeers
(OutboundConnectionsState (..))
data LedgerPeersConsensusInterface m =
LedgerPeersConsensusInterface {
forall (m :: * -> *).
LedgerPeersConsensusInterface m -> STM m FetchMode
readFetchMode :: STM m FetchMode
, forall (m :: * -> *).
LedgerPeersConsensusInterface m -> STM m LedgerStateJudgement
getLedgerStateJudgement :: STM m LedgerStateJudgement
, forall (m :: * -> *).
LedgerPeersConsensusInterface m
-> OutboundConnectionsState -> STM m ()
updateOutboundConnectionsState :: OutboundConnectionsState -> STM m ()
}