module Cardano.Network.LedgerPeerConsensusInterface where
import Cardano.Network.PeerSelection.LocalRootPeers (OutboundConnectionsState)
import Cardano.Network.Types (LedgerStateJudgement)
import Control.Concurrent.Class.MonadSTM (MonadSTM (..))
import Ouroboros.Network.BlockFetch.ConsensusInterface (FetchMode)
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 ()
}