| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Cardano.Network.NodeToNode
Description
This is the starting point for a module that will bring together the overall node to node protocol, as a collection of mini-protocols.
Synopsis
- nodeToNodeProtocols :: forall (muxMode :: Mode) initiatorCtx responderCtx bytes (m :: Type -> Type) a b. MiniProtocolParameters -> NodeToNodeProtocols muxMode initiatorCtx responderCtx bytes m a b -> NodeToNodeVersion -> NodeToNodeVersionData -> OuroborosBundle muxMode initiatorCtx responderCtx bytes m a b
- data NodeToNodeProtocols (appType :: Mode) initiatorCtx responderCtx bytes (m :: Type -> Type) a b = NodeToNodeProtocols {
- chainSyncProtocol :: RunMiniProtocol appType initiatorCtx responderCtx bytes m a b
- blockFetchProtocol :: RunMiniProtocol appType initiatorCtx responderCtx bytes m a b
- txSubmissionProtocol :: RunMiniProtocol appType initiatorCtx responderCtx bytes m a b
- keepAliveProtocol :: RunMiniProtocol appType initiatorCtx responderCtx bytes m a b
- peerSharingProtocol :: RunMiniProtocol appType initiatorCtx responderCtx bytes m a b
- type NodeToNodeProtocolsWithExpandedCtx (appType :: Mode) ntnAddr bytes (m :: Type -> Type) a b = NodeToNodeProtocols appType (ExpandedInitiatorContext ntnAddr m) (ResponderContext ntnAddr) bytes m a b
- type NodeToNodeProtocolsWithMinimalCtx (appType :: Mode) ntnAddr bytes (m :: Type -> Type) a b = NodeToNodeProtocols appType (MinimalInitiatorContext ntnAddr) (ResponderContext ntnAddr) bytes m a b
- data MiniProtocolParameters = MiniProtocolParameters {}
- chainSyncProtocolLimits :: MiniProtocolParameters -> MiniProtocolLimits
- blockFetchProtocolLimits :: MiniProtocolParameters -> MiniProtocolLimits
- txSubmissionProtocolLimits :: MiniProtocolParameters -> MiniProtocolLimits
- keepAliveProtocolLimits :: MiniProtocolParameters -> MiniProtocolLimits
- peerSharingProtocolLimits :: MiniProtocolParameters -> MiniProtocolLimits
- defaultMiniProtocolParameters :: MiniProtocolParameters
- data NodeToNodeVersion
- data NodeToNodeVersionData = NodeToNodeVersionData {
- networkMagic :: !NetworkMagic
- diffusionMode :: !DiffusionMode
- peerSharing :: !PeerSharing
- query :: !Bool
- data NetworkConnectTracers addr vNumber = NetworkConnectTracers {
- nctMuxTracers :: TracersWithBearer (ConnectionId addr) IO
- nctHandshakeTracer :: Tracer IO (WithBearer (ConnectionId addr) (TraceSendRecv (Handshake vNumber Term)))
- nullNetworkConnectTracers :: NetworkConnectTracers addr vNumber
- connectTo :: Snocket IO Socket SockAddr -> NetworkConnectTracers SockAddr NodeToNodeVersion -> Versions NodeToNodeVersion NodeToNodeVersionData (OuroborosApplicationWithMinimalCtx 'InitiatorMode SockAddr ByteString IO a b) -> Maybe SockAddr -> SockAddr -> IO (Either SomeException (Either a b))
- data AcceptedConnectionsLimit = AcceptedConnectionsLimit {}
- ntnDataFlow :: NodeToNodeVersionData -> DataFlow
- addSafetyMargin :: Int -> Int
- data PeerAdvertise
- data PeerSelectionTargets = PeerSelectionTargets {}
- newtype Versions vNum vData r = Versions {
- getVersions :: Map vNum (Version vData r)
- data DiffusionMode
- simpleSingletonVersions :: vNum -> vData -> (vData -> r) -> Versions vNum vData r
- foldMapVersions :: (Ord vNum, Foldable f, HasCallStack) => (x -> Versions vNum extra r) -> f x -> Versions vNum extra r
- combineVersions :: (Ord vNum, Foldable f, HasCallStack) => f (Versions vNum extra r) -> Versions vNum extra r
- nodeToNodeHandshakeCodec :: forall (m :: Type -> Type). MonadST m => Codec (Handshake NodeToNodeVersion Term) DeserialiseFailure m ByteString
- nodeToNodeVersionCodec :: CodecCBORTerm (Text, Maybe Int) NodeToNodeVersion
- nodeToNodeCodecCBORTerm :: NodeToNodeVersion -> CodecCBORTerm Text NodeToNodeVersionData
- data ExpandedInitiatorContext addr (m :: Type -> Type) = ExpandedInitiatorContext {
- eicConnectionId :: !(ConnectionId addr)
- eicControlMessage :: !(ControlMessageSTM m)
- eicIsBigLedgerPeer :: !IsBigLedgerPeer
- newtype MinimalInitiatorContext addr = MinimalInitiatorContext {
- micConnectionId :: ConnectionId addr
- newtype ResponderContext addr = ResponderContext {
- rcConnectionId :: ConnectionId addr
- data ConnectionId addr = ConnectionId {
- localAddress :: !addr
- remoteAddress :: !addr
- data ControlMessage
- type ControlMessageSTM (m :: Type -> Type) = STM m ControlMessage
- type RemoteAddress = SockAddr
- type RemoteConnectionId = ConnectionId RemoteAddress
- data IsBigLedgerPeer
- newtype NumTxIdsToAck = NumTxIdsToAck {}
- data ProtocolLimitFailure
- data Handshake (vNumber :: k) (vParams :: k1)
- data Socket
- data ExceptionInHandler where
- ExceptionInHandler :: forall peerAddr. (Typeable peerAddr, Show peerAddr) => !peerAddr -> !SomeException -> ExceptionInHandler
- data AcceptConnectionsPolicyTrace
- data TraceSendRecv ps where
- TraceSendMsg :: forall ps. AnyMessage ps -> TraceSendRecv ps
- TraceRecvMsg :: forall ps. AnyMessage ps -> TraceSendRecv ps
- chainSyncMiniProtocolNum :: MiniProtocolNum
- blockFetchMiniProtocolNum :: MiniProtocolNum
- txSubmissionMiniProtocolNum :: MiniProtocolNum
- keepAliveMiniProtocolNum :: MiniProtocolNum
- peerSharingMiniProtocolNum :: MiniProtocolNum
Documentation
Arguments
| :: forall (muxMode :: Mode) initiatorCtx responderCtx bytes (m :: Type -> Type) a b. MiniProtocolParameters | |
| -> NodeToNodeProtocols muxMode initiatorCtx responderCtx bytes m a b | |
| -> NodeToNodeVersion | negotiated version number |
| -> NodeToNodeVersionData | negotiated version data |
| -> OuroborosBundle muxMode initiatorCtx responderCtx bytes m a b |
Make an OuroborosApplication for the bundle of mini-protocols that
make up the overall node-to-node protocol.
This function specifies the wire format protocol numbers.
The application specific protocol numbers start from 2. The
is reserved for the MiniProtocolNum 0Handshake protocol, while
is reserved for DeltaQ messages.
MiniProtocolNum 1Handshake protocol is not included in NodeToNodeProtocols as it runs
before mux is started but it reusing MuxBearer to send and receive
messages. Only when the handshake protocol succeeds, we will know which
protocols to run / multiplex.
These are chosen to not overlap with the node to client protocol numbers (and the handshake protocol number). This is not essential for correctness, but is helpful to allow a single shared implementation of tools that can analyse both protocols, e.g. wireshark plugins.
data NodeToNodeProtocols (appType :: Mode) initiatorCtx responderCtx bytes (m :: Type -> Type) a b Source #
Constructors
| NodeToNodeProtocols | |
Fields
| |
type NodeToNodeProtocolsWithExpandedCtx (appType :: Mode) ntnAddr bytes (m :: Type -> Type) a b = NodeToNodeProtocols appType (ExpandedInitiatorContext ntnAddr m) (ResponderContext ntnAddr) bytes m a b Source #
type NodeToNodeProtocolsWithMinimalCtx (appType :: Mode) ntnAddr bytes (m :: Type -> Type) a b = NodeToNodeProtocols appType (MinimalInitiatorContext ntnAddr) (ResponderContext ntnAddr) bytes m a b Source #
data MiniProtocolParameters Source #
Constructors
| MiniProtocolParameters | |
Fields
| |
data NodeToNodeVersion #
Constructors
| NodeToNodeV_14 | |
| NodeToNodeV_15 |
Instances
data NodeToNodeVersionData #
Constructors
| NodeToNodeVersionData | |
Fields
| |
Instances
| Show NodeToNodeVersionData | |
Defined in Cardano.Network.NodeToNode.Version Methods showsPrec :: Int -> NodeToNodeVersionData -> ShowS # show :: NodeToNodeVersionData -> String # showList :: [NodeToNodeVersionData] -> ShowS # | |
| Eq NodeToNodeVersionData | |
Defined in Cardano.Network.NodeToNode.Version Methods (==) :: NodeToNodeVersionData -> NodeToNodeVersionData -> Bool # (/=) :: NodeToNodeVersionData -> NodeToNodeVersionData -> Bool # | |
| Acceptable NodeToNodeVersionData | |
Defined in Cardano.Network.NodeToNode.Version Methods acceptableVersion :: NodeToNodeVersionData -> NodeToNodeVersionData -> Accept NodeToNodeVersionData | |
| Queryable NodeToNodeVersionData | |
Defined in Cardano.Network.NodeToNode.Version Methods | |
data NetworkConnectTracers addr vNumber #
Constructors
| NetworkConnectTracers | |
Fields
| |
nullNetworkConnectTracers :: NetworkConnectTracers addr vNumber #
connectTo :: Snocket IO Socket SockAddr -> NetworkConnectTracers SockAddr NodeToNodeVersion -> Versions NodeToNodeVersion NodeToNodeVersionData (OuroborosApplicationWithMinimalCtx 'InitiatorMode SockAddr ByteString IO a b) -> Maybe SockAddr -> SockAddr -> IO (Either SomeException (Either a b)) Source #
A specialised version of .connectToNode
data AcceptedConnectionsLimit #
Constructors
| AcceptedConnectionsLimit | |
Instances
| Show AcceptedConnectionsLimit | |
Defined in Ouroboros.Network.Server.RateLimiting Methods showsPrec :: Int -> AcceptedConnectionsLimit -> ShowS # show :: AcceptedConnectionsLimit -> String # showList :: [AcceptedConnectionsLimit] -> ShowS # | |
| Eq AcceptedConnectionsLimit | |
Defined in Ouroboros.Network.Server.RateLimiting Methods (==) :: AcceptedConnectionsLimit -> AcceptedConnectionsLimit -> Bool # (/=) :: AcceptedConnectionsLimit -> AcceptedConnectionsLimit -> Bool # | |
| Ord AcceptedConnectionsLimit | |
Defined in Ouroboros.Network.Server.RateLimiting Methods compare :: AcceptedConnectionsLimit -> AcceptedConnectionsLimit -> Ordering # (<) :: AcceptedConnectionsLimit -> AcceptedConnectionsLimit -> Bool # (<=) :: AcceptedConnectionsLimit -> AcceptedConnectionsLimit -> Bool # (>) :: AcceptedConnectionsLimit -> AcceptedConnectionsLimit -> Bool # (>=) :: AcceptedConnectionsLimit -> AcceptedConnectionsLimit -> Bool # max :: AcceptedConnectionsLimit -> AcceptedConnectionsLimit -> AcceptedConnectionsLimit # min :: AcceptedConnectionsLimit -> AcceptedConnectionsLimit -> AcceptedConnectionsLimit # | |
ntnDataFlow :: NodeToNodeVersionData -> DataFlow Source #
Node-To-Node protocol connections which negotiated
InitiatorAndResponderDiffusionMode are Duplex.
addSafetyMargin :: Int -> Int Source #
P2P Governor
data PeerAdvertise #
Constructors
| DoNotAdvertisePeer | |
| DoAdvertisePeer |
Instances
| FromJSON PeerAdvertise | |||||
Defined in Ouroboros.Network.PeerSelection.PeerAdvertise Methods parseJSON :: Value -> Parser PeerAdvertise # parseJSONList :: Value -> Parser [PeerAdvertise] # | |||||
| ToJSON PeerAdvertise | |||||
Defined in Ouroboros.Network.PeerSelection.PeerAdvertise Methods toJSON :: PeerAdvertise -> Value # toEncoding :: PeerAdvertise -> Encoding # toJSONList :: [PeerAdvertise] -> Value # toEncodingList :: [PeerAdvertise] -> Encoding # omitField :: PeerAdvertise -> Bool # | |||||
| Generic PeerAdvertise | |||||
Defined in Ouroboros.Network.PeerSelection.PeerAdvertise Associated Types
| |||||
| Show PeerAdvertise | |||||
Defined in Ouroboros.Network.PeerSelection.PeerAdvertise Methods showsPrec :: Int -> PeerAdvertise -> ShowS # show :: PeerAdvertise -> String # showList :: [PeerAdvertise] -> ShowS # | |||||
| Eq PeerAdvertise | |||||
Defined in Ouroboros.Network.PeerSelection.PeerAdvertise Methods (==) :: PeerAdvertise -> PeerAdvertise -> Bool # (/=) :: PeerAdvertise -> PeerAdvertise -> Bool # | |||||
| Ord PeerAdvertise | |||||
Defined in Ouroboros.Network.PeerSelection.PeerAdvertise Methods compare :: PeerAdvertise -> PeerAdvertise -> Ordering # (<) :: PeerAdvertise -> PeerAdvertise -> Bool # (<=) :: PeerAdvertise -> PeerAdvertise -> Bool # (>) :: PeerAdvertise -> PeerAdvertise -> Bool # (>=) :: PeerAdvertise -> PeerAdvertise -> Bool # max :: PeerAdvertise -> PeerAdvertise -> PeerAdvertise # min :: PeerAdvertise -> PeerAdvertise -> PeerAdvertise # | |||||
| type Rep PeerAdvertise | |||||
Defined in Ouroboros.Network.PeerSelection.PeerAdvertise type Rep PeerAdvertise = D1 ('MetaData "PeerAdvertise" "Ouroboros.Network.PeerSelection.PeerAdvertise" "ouroboros-network-0.23.0.0-inplace-api" 'False) (C1 ('MetaCons "DoNotAdvertisePeer" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DoAdvertisePeer" 'PrefixI 'False) (U1 :: Type -> Type)) | |||||
data PeerSelectionTargets #
Adjustable targets for the peer selection mechanism.
These are used by the peer selection governor as targets. They are used by the peer churn governor loop as knobs to adjust, to influence the peer selection governor.
The known, established and active peer targets are targets both from below and from above: the governor will attempt to grow or shrink the sets to hit these targets.
Unlike the other targets, the root peer target is "one sided", it is only a target from below. The governor does not try to shrink the root set to hit it, it simply stops looking for more.
There is also an implicit target that enough local root peers are selected as active. This comes from the configuration for local roots, and is not an independently adjustable target.
Constructors
| PeerSelectionTargets | |
Fields
| |
Instances
| Show PeerSelectionTargets | |
Defined in Ouroboros.Network.PeerSelection.Governor.Types Methods showsPrec :: Int -> PeerSelectionTargets -> ShowS # show :: PeerSelectionTargets -> String # showList :: [PeerSelectionTargets] -> ShowS # | |
| Eq PeerSelectionTargets | |
Defined in Ouroboros.Network.PeerSelection.Governor.Types Methods (==) :: PeerSelectionTargets -> PeerSelectionTargets -> Bool # (/=) :: PeerSelectionTargets -> PeerSelectionTargets -> Bool # | |
Subscription Workers
Versions
newtype Versions vNum vData r #
Constructors
| Versions | |
Fields
| |
data DiffusionMode #
Instances
| Show DiffusionMode | |
Defined in Ouroboros.Network.DiffusionMode Methods showsPrec :: Int -> DiffusionMode -> ShowS # show :: DiffusionMode -> String # showList :: [DiffusionMode] -> ShowS # | |
| Eq DiffusionMode | |
Defined in Ouroboros.Network.DiffusionMode Methods (==) :: DiffusionMode -> DiffusionMode -> Bool # (/=) :: DiffusionMode -> DiffusionMode -> Bool # | |
| Ord DiffusionMode | |
Defined in Ouroboros.Network.DiffusionMode Methods compare :: DiffusionMode -> DiffusionMode -> Ordering # (<) :: DiffusionMode -> DiffusionMode -> Bool # (<=) :: DiffusionMode -> DiffusionMode -> Bool # (>) :: DiffusionMode -> DiffusionMode -> Bool # (>=) :: DiffusionMode -> DiffusionMode -> Bool # max :: DiffusionMode -> DiffusionMode -> DiffusionMode # min :: DiffusionMode -> DiffusionMode -> DiffusionMode # | |
simpleSingletonVersions :: vNum -> vData -> (vData -> r) -> Versions vNum vData r #
foldMapVersions :: (Ord vNum, Foldable f, HasCallStack) => (x -> Versions vNum extra r) -> f x -> Versions vNum extra r #
combineVersions :: (Ord vNum, Foldable f, HasCallStack) => f (Versions vNum extra r) -> Versions vNum extra r #
Codecs
nodeToNodeHandshakeCodec :: forall (m :: Type -> Type). MonadST m => Codec (Handshake NodeToNodeVersion Term) DeserialiseFailure m ByteString #
nodeToNodeVersionCodec :: CodecCBORTerm (Text, Maybe Int) NodeToNodeVersion #
nodeToNodeCodecCBORTerm :: NodeToNodeVersion -> CodecCBORTerm Text NodeToNodeVersionData #
Re-exports
data ExpandedInitiatorContext addr (m :: Type -> Type) #
Constructors
| ExpandedInitiatorContext | |
Fields
| |
newtype MinimalInitiatorContext addr #
Constructors
| MinimalInitiatorContext | |
Fields
| |
Instances
| Functor MinimalInitiatorContext | |
Defined in Ouroboros.Network.Context Methods fmap :: (a -> b) -> MinimalInitiatorContext a -> MinimalInitiatorContext b # (<$) :: a -> MinimalInitiatorContext b -> MinimalInitiatorContext a # | |
newtype ResponderContext addr #
Constructors
| ResponderContext | |
Fields
| |
Instances
| Functor ResponderContext | |
Defined in Ouroboros.Network.Context Methods fmap :: (a -> b) -> ResponderContext a -> ResponderContext b # (<$) :: a -> ResponderContext b -> ResponderContext a # | |
data ConnectionId addr #
Constructors
| ConnectionId | |
Fields
| |
Instances
| Functor ConnectionId | |||||
Defined in Ouroboros.Network.ConnectionId Methods fmap :: (a -> b) -> ConnectionId a -> ConnectionId b # (<$) :: a -> ConnectionId b -> ConnectionId a # | |||||
| ShowProxy addr => ShowProxy (ConnectionId addr :: Type) | |||||
Defined in Ouroboros.Network.ConnectionId Methods showProxy :: Proxy (ConnectionId addr) -> String | |||||
| Generic (ConnectionId addr) | |||||
Defined in Ouroboros.Network.ConnectionId Associated Types
Methods from :: ConnectionId addr -> Rep (ConnectionId addr) x # to :: Rep (ConnectionId addr) x -> ConnectionId addr # | |||||
| Show addr => Show (ConnectionId addr) | |||||
Defined in Ouroboros.Network.ConnectionId Methods showsPrec :: Int -> ConnectionId addr -> ShowS # show :: ConnectionId addr -> String # showList :: [ConnectionId addr] -> ShowS # | |||||
| Eq addr => Eq (ConnectionId addr) | |||||
Defined in Ouroboros.Network.ConnectionId Methods (==) :: ConnectionId addr -> ConnectionId addr -> Bool # (/=) :: ConnectionId addr -> ConnectionId addr -> Bool # | |||||
| Ord addr => Ord (ConnectionId addr) | |||||
Defined in Ouroboros.Network.ConnectionId Methods compare :: ConnectionId addr -> ConnectionId addr -> Ordering # (<) :: ConnectionId addr -> ConnectionId addr -> Bool # (<=) :: ConnectionId addr -> ConnectionId addr -> Bool # (>) :: ConnectionId addr -> ConnectionId addr -> Bool # (>=) :: ConnectionId addr -> ConnectionId addr -> Bool # max :: ConnectionId addr -> ConnectionId addr -> ConnectionId addr # min :: ConnectionId addr -> ConnectionId addr -> ConnectionId addr # | |||||
| Hashable a => Hashable (ConnectionId a) | |||||
Defined in Ouroboros.Network.ConnectionId | |||||
| Typeable addr => NoThunks (ConnectionId addr) | |||||
Defined in Ouroboros.Network.ConnectionId Methods noThunks :: Context -> ConnectionId addr -> IO (Maybe ThunkInfo) # wNoThunks :: Context -> ConnectionId addr -> IO (Maybe ThunkInfo) # showTypeOf :: Proxy (ConnectionId addr) -> String # | |||||
| type Rep (ConnectionId addr) | |||||
Defined in Ouroboros.Network.ConnectionId type Rep (ConnectionId addr) = D1 ('MetaData "ConnectionId" "Ouroboros.Network.ConnectionId" "ouroboros-network-0.23.0.0-inplace-framework" 'False) (C1 ('MetaCons "ConnectionId" 'PrefixI 'True) (S1 ('MetaSel ('Just "localAddress") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 addr) :*: S1 ('MetaSel ('Just "remoteAddress") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 addr))) | |||||
data ControlMessage #
Instances
| Show ControlMessage | |
Defined in Ouroboros.Network.ControlMessage Methods showsPrec :: Int -> ControlMessage -> ShowS # show :: ControlMessage -> String # showList :: [ControlMessage] -> ShowS # | |
| Eq ControlMessage | |
Defined in Ouroboros.Network.ControlMessage Methods (==) :: ControlMessage -> ControlMessage -> Bool # (/=) :: ControlMessage -> ControlMessage -> Bool # | |
type ControlMessageSTM (m :: Type -> Type) = STM m ControlMessage #
type RemoteAddress = SockAddr #
data IsBigLedgerPeer #
Constructors
| IsBigLedgerPeer | |
| IsNotBigLedgerPeer |
Instances
| Show IsBigLedgerPeer | |
Defined in Ouroboros.Network.PeerSelection.LedgerPeers.Type Methods showsPrec :: Int -> IsBigLedgerPeer -> ShowS # show :: IsBigLedgerPeer -> String # showList :: [IsBigLedgerPeer] -> ShowS # | |
| Eq IsBigLedgerPeer | |
Defined in Ouroboros.Network.PeerSelection.LedgerPeers.Type Methods (==) :: IsBigLedgerPeer -> IsBigLedgerPeer -> Bool # (/=) :: IsBigLedgerPeer -> IsBigLedgerPeer -> Bool # | |
newtype NumTxIdsToAck #
Constructors
| NumTxIdsToAck | |
Fields | |
Instances
| NFData NumTxIdsToAck | |||||
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods rnf :: NumTxIdsToAck -> () # | |||||
| Monoid NumTxIdsToAck | |||||
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods mempty :: NumTxIdsToAck # mappend :: NumTxIdsToAck -> NumTxIdsToAck -> NumTxIdsToAck # mconcat :: [NumTxIdsToAck] -> NumTxIdsToAck # | |||||
| Semigroup NumTxIdsToAck | |||||
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods (<>) :: NumTxIdsToAck -> NumTxIdsToAck -> NumTxIdsToAck # sconcat :: NonEmpty NumTxIdsToAck -> NumTxIdsToAck # stimes :: Integral b => b -> NumTxIdsToAck -> NumTxIdsToAck # | |||||
| Bounded NumTxIdsToAck | |||||
| Enum NumTxIdsToAck | |||||
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods succ :: NumTxIdsToAck -> NumTxIdsToAck # pred :: NumTxIdsToAck -> NumTxIdsToAck # toEnum :: Int -> NumTxIdsToAck # fromEnum :: NumTxIdsToAck -> Int # enumFrom :: NumTxIdsToAck -> [NumTxIdsToAck] # enumFromThen :: NumTxIdsToAck -> NumTxIdsToAck -> [NumTxIdsToAck] # enumFromTo :: NumTxIdsToAck -> NumTxIdsToAck -> [NumTxIdsToAck] # enumFromThenTo :: NumTxIdsToAck -> NumTxIdsToAck -> NumTxIdsToAck -> [NumTxIdsToAck] # | |||||
| Generic NumTxIdsToAck | |||||
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Associated Types
| |||||
| Num NumTxIdsToAck | |||||
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods (+) :: NumTxIdsToAck -> NumTxIdsToAck -> NumTxIdsToAck # (-) :: NumTxIdsToAck -> NumTxIdsToAck -> NumTxIdsToAck # (*) :: NumTxIdsToAck -> NumTxIdsToAck -> NumTxIdsToAck # negate :: NumTxIdsToAck -> NumTxIdsToAck # abs :: NumTxIdsToAck -> NumTxIdsToAck # signum :: NumTxIdsToAck -> NumTxIdsToAck # fromInteger :: Integer -> NumTxIdsToAck # | |||||
| Integral NumTxIdsToAck | |||||
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods quot :: NumTxIdsToAck -> NumTxIdsToAck -> NumTxIdsToAck # rem :: NumTxIdsToAck -> NumTxIdsToAck -> NumTxIdsToAck # div :: NumTxIdsToAck -> NumTxIdsToAck -> NumTxIdsToAck # mod :: NumTxIdsToAck -> NumTxIdsToAck -> NumTxIdsToAck # quotRem :: NumTxIdsToAck -> NumTxIdsToAck -> (NumTxIdsToAck, NumTxIdsToAck) # divMod :: NumTxIdsToAck -> NumTxIdsToAck -> (NumTxIdsToAck, NumTxIdsToAck) # toInteger :: NumTxIdsToAck -> Integer # | |||||
| Real NumTxIdsToAck | |||||
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods toRational :: NumTxIdsToAck -> Rational # | |||||
| Show NumTxIdsToAck | |||||
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods showsPrec :: Int -> NumTxIdsToAck -> ShowS # show :: NumTxIdsToAck -> String # showList :: [NumTxIdsToAck] -> ShowS # | |||||
| Eq NumTxIdsToAck | |||||
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods (==) :: NumTxIdsToAck -> NumTxIdsToAck -> Bool # (/=) :: NumTxIdsToAck -> NumTxIdsToAck -> Bool # | |||||
| Ord NumTxIdsToAck | |||||
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods compare :: NumTxIdsToAck -> NumTxIdsToAck -> Ordering # (<) :: NumTxIdsToAck -> NumTxIdsToAck -> Bool # (<=) :: NumTxIdsToAck -> NumTxIdsToAck -> Bool # (>) :: NumTxIdsToAck -> NumTxIdsToAck -> Bool # (>=) :: NumTxIdsToAck -> NumTxIdsToAck -> Bool # max :: NumTxIdsToAck -> NumTxIdsToAck -> NumTxIdsToAck # min :: NumTxIdsToAck -> NumTxIdsToAck -> NumTxIdsToAck # | |||||
| NoThunks NumTxIdsToAck | |||||
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type Methods noThunks :: Context -> NumTxIdsToAck -> IO (Maybe ThunkInfo) # wNoThunks :: Context -> NumTxIdsToAck -> IO (Maybe ThunkInfo) # showTypeOf :: Proxy NumTxIdsToAck -> String # | |||||
| type Rep NumTxIdsToAck | |||||
Defined in Ouroboros.Network.Protocol.TxSubmission2.Type type Rep NumTxIdsToAck = D1 ('MetaData "NumTxIdsToAck" "Ouroboros.Network.Protocol.TxSubmission2.Type" "ouroboros-network-0.23.0.0-inplace-protocols" 'True) (C1 ('MetaCons "NumTxIdsToAck" 'PrefixI 'True) (S1 ('MetaSel ('Just "getNumTxIdsToAck") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word16))) | |||||
data ProtocolLimitFailure #
Instances
| Exception ProtocolLimitFailure | |
Defined in Ouroboros.Network.Protocol.Limits | |
| Show ProtocolLimitFailure | |
Defined in Ouroboros.Network.Protocol.Limits Methods showsPrec :: Int -> ProtocolLimitFailure -> ShowS # show :: ProtocolLimitFailure -> String # showList :: [ProtocolLimitFailure] -> ShowS # | |
data Handshake (vNumber :: k) (vParams :: k1) #
Instances
| ShowProxy (Handshake vNumber vParams :: Type) | |||||
Defined in Ouroboros.Network.Protocol.Handshake.Type | |||||
| (NFData vNumber, NFData vParams) => NFData (Message (Handshake vNumber vParams) from to) | |||||
Defined in Ouroboros.Network.Protocol.Handshake.Type | |||||
| (Show vNumber, Show vParams) => Show (Message (Handshake vNumber vParams) from to) | |||||
| Protocol (Handshake vNumber vParams) | |||||
Defined in Ouroboros.Network.Protocol.Handshake.Type Associated Types
| |||||
| StateTokenI ('StConfirm :: Handshake vNumber vParams) | |||||
Defined in Ouroboros.Network.Protocol.Handshake.Type Methods stateToken :: StateToken ('StConfirm :: Handshake vNumber vParams) # | |||||
| StateTokenI ('StDone :: Handshake vNumber vParams) | |||||
Defined in Ouroboros.Network.Protocol.Handshake.Type Methods stateToken :: StateToken ('StDone :: Handshake vNumber vParams) # | |||||
| StateTokenI ('StPropose :: Handshake vNumber vParams) | |||||
Defined in Ouroboros.Network.Protocol.Handshake.Type Methods stateToken :: StateToken ('StPropose :: Handshake vNumber vParams) # | |||||
| data Message (Handshake vNumber vParams) (from :: Handshake vNumber vParams) (to :: Handshake vNumber vParams) | |||||
Defined in Ouroboros.Network.Protocol.Handshake.Type data Message (Handshake vNumber vParams) (from :: Handshake vNumber vParams) (to :: Handshake vNumber vParams) where
| |||||
| type StateToken | |||||
Defined in Ouroboros.Network.Protocol.Handshake.Type | |||||
| type StateAgency ('StConfirm :: Handshake vNumber vParams) | |||||
Defined in Ouroboros.Network.Protocol.Handshake.Type | |||||
| type StateAgency ('StDone :: Handshake vNumber vParams) | |||||
Defined in Ouroboros.Network.Protocol.Handshake.Type | |||||
| type StateAgency ('StPropose :: Handshake vNumber vParams) | |||||
Defined in Ouroboros.Network.Protocol.Handshake.Type | |||||
Basic type for a socket.
Exceptions
data ExceptionInHandler where #
Constructors
| ExceptionInHandler :: forall peerAddr. (Typeable peerAddr, Show peerAddr) => !peerAddr -> !SomeException -> ExceptionInHandler |
Instances
| Exception ExceptionInHandler | |
Defined in Ouroboros.Network.ConnectionManager.Types Methods toException :: ExceptionInHandler -> SomeException # fromException :: SomeException -> Maybe ExceptionInHandler # | |
| Show ExceptionInHandler | |
Defined in Ouroboros.Network.ConnectionManager.Types Methods showsPrec :: Int -> ExceptionInHandler -> ShowS # show :: ExceptionInHandler -> String # showList :: [ExceptionInHandler] -> ShowS # | |
Traces
data AcceptConnectionsPolicyTrace #
Constructors
| ServerTraceAcceptConnectionRateLimiting DiffTime Int | |
| ServerTraceAcceptConnectionHardLimit Word32 | |
| ServerTraceAcceptConnectionResume Int |
Instances
| Show AcceptConnectionsPolicyTrace | |
Defined in Ouroboros.Network.Server.RateLimiting Methods showsPrec :: Int -> AcceptConnectionsPolicyTrace -> ShowS # show :: AcceptConnectionsPolicyTrace -> String # showList :: [AcceptConnectionsPolicyTrace] -> ShowS # | |
| Eq AcceptConnectionsPolicyTrace | |
Defined in Ouroboros.Network.Server.RateLimiting Methods (==) :: AcceptConnectionsPolicyTrace -> AcceptConnectionsPolicyTrace -> Bool # (/=) :: AcceptConnectionsPolicyTrace -> AcceptConnectionsPolicyTrace -> Bool # | |
| Ord AcceptConnectionsPolicyTrace | |
Defined in Ouroboros.Network.Server.RateLimiting Methods compare :: AcceptConnectionsPolicyTrace -> AcceptConnectionsPolicyTrace -> Ordering # (<) :: AcceptConnectionsPolicyTrace -> AcceptConnectionsPolicyTrace -> Bool # (<=) :: AcceptConnectionsPolicyTrace -> AcceptConnectionsPolicyTrace -> Bool # (>) :: AcceptConnectionsPolicyTrace -> AcceptConnectionsPolicyTrace -> Bool # (>=) :: AcceptConnectionsPolicyTrace -> AcceptConnectionsPolicyTrace -> Bool # max :: AcceptConnectionsPolicyTrace -> AcceptConnectionsPolicyTrace -> AcceptConnectionsPolicyTrace # min :: AcceptConnectionsPolicyTrace -> AcceptConnectionsPolicyTrace -> AcceptConnectionsPolicyTrace # | |
data TraceSendRecv ps where #
Constructors
| TraceSendMsg :: forall ps. AnyMessage ps -> TraceSendRecv ps | |
| TraceRecvMsg :: forall ps. AnyMessage ps -> TraceSendRecv ps |
Instances
| Show (AnyMessage ps) => Show (TraceSendRecv ps) | |
Defined in Ouroboros.Network.Driver.Simple Methods showsPrec :: Int -> TraceSendRecv ps -> ShowS # show :: TraceSendRecv ps -> String # showList :: [TraceSendRecv ps] -> ShowS # | |