ouroboros-network
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Network.Diffusion.Types

Synopsis

Documentation

data DiffusionTracer ntnAddr ntcAddr Source #

The DiffusionTracer logs

  • diffusion initialisation messages
  • terminal errors thrown by diffusion

TODO: rename as DiffusionTrace

Instances

Instances details
(Show ntcAddr, Show ntnAddr) => Show (DiffusionTracer ntnAddr ntcAddr) Source # 
Instance details

Defined in Ouroboros.Network.Diffusion.Types

Methods

showsPrec :: Int -> DiffusionTracer ntnAddr ntcAddr -> ShowS #

show :: DiffusionTracer ntnAddr ntcAddr -> String #

showList :: [DiffusionTracer ntnAddr ntcAddr] -> ShowS #

data Failure where Source #

Constructors

UnsupportedReadySocket :: Failure 
UnexpectedIPv4Address :: forall ntnAddr. (Show ntnAddr, Typeable ntnAddr) => ntnAddr -> Failure 
UnexpectedIPv6Address :: forall ntnAddr. (Show ntnAddr, Typeable ntnAddr) => ntnAddr -> Failure 
NoSocket :: Failure 
DiffusionError :: SomeException -> Failure 

data Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers (m :: Type -> Type) Source #

Diffusion Tracers

Constructors

Tracers 

Fields

nullTracers :: forall (m :: Type -> Type) ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers. Applicative m => Tracers ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraState extraDebugState extraFlags extraPeers m Source #

data Configuration extraFlags (m :: Type -> Type) ntnFd ntnAddr ntcFd ntcAddr Source #

Required Diffusion Arguments to run network layer

Constructors

Configuration 

Fields

data Applications ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData extraFlags (m :: Type -> Type) a Source #

Versioned mini-protocol bundles run on a negotiated connection.

Constructors

Applications 

Fields

data Arguments extraState extraDebugState extraFlags extraPeers extraAPI extraChurnArgs exception resolver (m :: Type -> Type) ntnFd ntnAddr ntnVersion ntnVersionData ntcAddr ntcVersion ntcVersionData Source #

Diffusion arguments which allow to instantiate a completely different diffusion layer. These differ from

Constructors

Arguments 

Fields

data Interfaces ntnFd ntnAddr ntcFd ntcAddr resolver (m :: Type -> Type) Source #

Constructors

Interfaces 

Fields

Plain Ouroboros Network

Convenience types for plain Ouroboros Network instantiation without any extra peers configured. This is supported by the bundled trace-dispatcher instances in the tracing libraries.

data NoExtraPeers peeraddr Source #

Constructors

NoExtraPeers 

Instances

Instances details
Monoid (NoExtraPeers peeraddr) Source # 
Instance details

Defined in Ouroboros.Network.Diffusion.Types

Methods

mempty :: NoExtraPeers peeraddr #

mappend :: NoExtraPeers peeraddr -> NoExtraPeers peeraddr -> NoExtraPeers peeraddr #

mconcat :: [NoExtraPeers peeraddr] -> NoExtraPeers peeraddr #

Semigroup (NoExtraPeers peeraddr) Source # 
Instance details

Defined in Ouroboros.Network.Diffusion.Types

Methods

(<>) :: NoExtraPeers peeraddr -> NoExtraPeers peeraddr -> NoExtraPeers peeraddr #

sconcat :: NonEmpty (NoExtraPeers peeraddr) -> NoExtraPeers peeraddr #

stimes :: Integral b => b -> NoExtraPeers peeraddr -> NoExtraPeers peeraddr #

Show (NoExtraPeers peeraddr) Source # 
Instance details

Defined in Ouroboros.Network.Diffusion.Types

Methods

showsPrec :: Int -> NoExtraPeers peeraddr -> ShowS #

show :: NoExtraPeers peeraddr -> String #

showList :: [NoExtraPeers peeraddr] -> ShowS #

Show (ToExtraTrace (NoExtraPeers peeraddr)) Source # 
Instance details

Defined in Ouroboros.Network.Diffusion.Types

Eq (NoExtraPeers peeraddr) Source # 
Instance details

Defined in Ouroboros.Network.Diffusion.Types

Methods

(==) :: NoExtraPeers peeraddr -> NoExtraPeers peeraddr -> Bool #

(/=) :: NoExtraPeers peeraddr -> NoExtraPeers peeraddr -> Bool #

Eq (ViewExtraPeers (NoExtraPeers peeraddr)) Source # 
Instance details

Defined in Ouroboros.Network.Diffusion.Types

(Ord peeraddr, Show peeraddr) => SupportsPeerSelectionState (NoExtraPeers peeraddr) peeraddr Source # 
Instance details

Defined in Ouroboros.Network.Diffusion.Types

Associated Types

data ToExtraTrace (NoExtraPeers peeraddr) 
Instance details

Defined in Ouroboros.Network.Diffusion.Types

data ToExtraTrace (NoExtraPeers peeraddr)
data ViewExtraPeers (NoExtraPeers peeraddr) 
Instance details

Defined in Ouroboros.Network.Diffusion.Types

Methods

publicExtraPeersAPI :: PublicExtraPeersAPI (NoExtraPeers peeraddr) peeraddr Source #

mkViewExtraPeers :: PeerSelectionState extraState extraFlags (NoExtraPeers peeraddr) peeraddr peerconn -> ViewExtraPeers (NoExtraPeers peeraddr) Source #

data ToExtraTrace (NoExtraPeers peeraddr) Source # 
Instance details

Defined in Ouroboros.Network.Diffusion.Types

data ToExtraTrace (NoExtraPeers peeraddr)
data ViewExtraPeers (NoExtraPeers peeraddr) Source # 
Instance details

Defined in Ouroboros.Network.Diffusion.Types

data family ViewExtraPeers extraPeers Source #

Peer selection view.

This is a functor which is used to hold computation of various peer sets and their sizes. See peerSelectionStateToView, peerSelectionStateToCounters.

Instances

Instances details
Eq (ViewExtraPeers (NoExtraPeers peeraddr)) Source # 
Instance details

Defined in Ouroboros.Network.Diffusion.Types

data ViewExtraPeers (NoExtraPeers peeraddr) Source # 
Instance details

Defined in Ouroboros.Network.Diffusion.Types

type OuroborosDebugPeerSelection extraState extraFlags peeraddr = DebugPeerSelection extraState extraFlags (NoExtraPeers peeraddr) peeraddr Source #

type OuroborosTracePeerSelection extraDebugState extraFlags peeraddr = TracePeerSelection extraDebugState extraFlags (NoExtraPeers peeraddr) peeraddr Source #

ForkPolicy

data ForkPolicy peerAddr #

responderForkPolicy :: Hashable peerAddr => Int -> Int -> ForkPolicy peerAddr #

NodeToClient type aliases

type NodeToClientHandle ntcAddr versionData (m :: Type -> Type) = HandleWithMinimalCtx 'ResponderMode ntcAddr versionData ByteString m Void () Source #

type NodeToClientHandleError ntcVersion = HandlerError ntcVersion Source #

Deprecated: Use NodeToClientHandlerError

type NodeToClientHandlerError ntcVersion = HandlerError ntcVersion Source #

type MkNodeToClientConnectionHandler ntcFd ntcAddr ntcVersion ntcVersionData (m :: Type -> Type) = (StrictTVar m (StrictMaybe ResponderCounters) -> Tracer m (WithBearer (ConnectionId ntcAddr) Trace)) -> ConnectionHandler 'ResponderMode (ConnectionHandlerTrace ntcVersion ntcVersionData) ntcFd ntcAddr (NodeToClientHandle ntcAddr ntcVersionData m) (NodeToClientHandlerError ntcVersion) ntcVersion ntcVersionData m Source #

NodeToNode type aliases

type NodeToNodeHandle (mode :: Mode) ntnAddr extraFlags ntnVersionData (m :: Type -> Type) a b = HandleWithExpandedCtx mode ntnAddr extraFlags ntnVersionData ByteString m a b Source #

type NodeToNodeConnectionManager (mode :: Mode) ntnFd ntnAddr extraFlags ntnVersionData ntnVersion (m :: Type -> Type) a b = ConnectionManager mode ntnFd ntnAddr (NodeToNodeHandle mode ntnAddr extraFlags ntnVersionData m a b) (HandlerError ntnVersion) m Source #

type NodeToNodePeerConnectionHandle (mode :: Mode) ntnAddr extraFlags ntnVersionData (m :: Type -> Type) a b = PeerConnectionHandle mode (ResponderContext ntnAddr) ntnAddr extraFlags ntnVersionData ByteString m a b Source #

type NodeToNodePeerSelectionActions extraState extraFlags extraPeers extraAPI (mode :: Mode) ntnAddr ntnVersionData (m :: Type -> Type) a b = PeerSelectionActions extraState extraFlags extraPeers extraAPI ntnAddr (NodeToNodePeerConnectionHandle mode ntnAddr extraFlags ntnVersionData m a b) m Source #

Re-exports

type AbstractTransitionTrace peerAddr = TransitionTrace' peerAddr AbstractState #

type RemoteTransitionTrace peerAddr = TransitionTrace' peerAddr (Maybe RemoteSt) #

data DiffusionMode #

Instances

Instances details
NFData DiffusionMode 
Instance details

Defined in Ouroboros.Network.DiffusionMode

Methods

rnf :: DiffusionMode -> () #

Generic DiffusionMode 
Instance details

Defined in Ouroboros.Network.DiffusionMode

Associated Types

type Rep DiffusionMode 
Instance details

Defined in Ouroboros.Network.DiffusionMode

type Rep DiffusionMode = D1 ('MetaData "DiffusionMode" "Ouroboros.Network.DiffusionMode" "ouroboros-network-1.1.0.0-inplace-api" 'False) (C1 ('MetaCons "InitiatorOnlyDiffusionMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InitiatorAndResponderDiffusionMode" 'PrefixI 'False) (U1 :: Type -> Type))
Show DiffusionMode 
Instance details

Defined in Ouroboros.Network.DiffusionMode

Eq DiffusionMode 
Instance details

Defined in Ouroboros.Network.DiffusionMode

Ord DiffusionMode 
Instance details

Defined in Ouroboros.Network.DiffusionMode

type Rep DiffusionMode 
Instance details

Defined in Ouroboros.Network.DiffusionMode

type Rep DiffusionMode = D1 ('MetaData "DiffusionMode" "Ouroboros.Network.DiffusionMode" "ouroboros-network-1.1.0.0-inplace-api" 'False) (C1 ('MetaCons "InitiatorOnlyDiffusionMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InitiatorAndResponderDiffusionMode" 'PrefixI 'False) (U1 :: Type -> Type))