ouroboros-network:cardano-diffusion
Safe HaskellNone
LanguageHaskell2010

Cardano.Network.Diffusion

Description

This module is expected to be imported qualified (it will clash with the Ouroboros.Network.Diffusion.NonP2P).

Synopsis

Documentation

run :: LedgerPeersConsensusInterface (LedgerPeersConsensusInterface IO) IO -> Tracer IO TracerChurnMode -> LocalConfiguration IO -> PeerMetrics IO RemoteAddress -> Tracers RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData IOException ExtraState DebugPeerSelectionState PeerTrustable (ExtraPeers RemoteAddress) (ExtraPeerSelectionSetsWithSizes RemoteAddress) IO -> Configuration PeerTrustable IO Socket RemoteAddress LocalSocket LocalAddress -> Applications RemoteAddress NodeToNodeVersion NodeToNodeVersionData LocalAddress NodeToClientVersion NodeToClientVersionData IO a -> IO Void Source #

Main entry point for Cardano data diffusion service. It allows to:

  • connect to upstream peers;
  • accept connection from downstream peers, if run in InitiatorAndResponderDiffusionMode.
  • runs a local service which allows to use node-to-client protocol to obtain information from the running system. This is used by 'cardano-cli' or a wallet and a like local services.