Safe Haskell | None |
---|---|
Language | Haskell98 |
- minProtocolVersion :: Word32
- startPeer :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerHost -> NodeT m ()
- startReconnectPeer :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerHost -> NodeT m ()
- startPeerPid :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> NodeT m ()
- isPeerHostBanned :: PeerHost -> NodeT STM Bool
- isPeerHostConnected :: PeerHost -> NodeT STM Bool
- decodeMessage :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> Sink ByteString (StateT (Maybe (MerkleBlock, MerkleTxs)) (NodeT m)) ()
- processMessage :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> Message -> StateT (Maybe (MerkleBlock, MerkleTxs)) (NodeT m) ()
- processInvMessage :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> Inv -> NodeT m ()
- encodeMessage :: MonadLoggerIO m => Conduit Message (NodeT m) ByteString
- peerPing :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> NodeT m ()
- isBloomDisabled :: Version -> Bool
- peerHandshake :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> TBMChan Message -> NodeT m ()
- waitPeerVersion :: PeerId -> NodeT STM Version
- disconnectPeer :: MonadLoggerIO m => PeerId -> PeerHost -> NodeT m ()
- waitPeerAvailable :: PeerId -> NodeT STM ()
- waitBloomFilter :: NodeT STM BloomFilter
- sendBloomFilter :: BloomFilter -> Int -> NodeT STM ()
- getMedianHeight :: NodeT STM BlockHeight
- updateNetworkHeight :: NodeT STM ()
- getPeers :: NodeT STM [(PeerId, PeerSession)]
- getConnectedPeers :: NodeT STM [(PeerId, PeerSession)]
- getPeersAtNetHeight :: NodeT STM [(PeerId, PeerSession)]
- getPeersAtHeight :: (BlockHeight -> Bool) -> NodeT STM [(PeerId, PeerSession)]
- trySendMessage :: PeerId -> Message -> NodeT STM Bool
- sendMessage :: PeerId -> Message -> NodeT STM ()
- sendMessageAll :: Message -> NodeT STM ()
- getNetworkHeight :: NodeT STM BlockHeight
- misbehaving :: MonadLoggerIO m => PeerId -> PeerHost -> (PeerHostScore -> PeerHostScore) -> String -> NodeT m ()
- raceTimeout :: (MonadIO m, MonadBaseControl IO m) => Int -> m a -> m b -> m (Either a b)
- formatPid :: PeerId -> PeerHost -> String -> Text
Documentation
startPeer :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerHost -> NodeT m () Source #
startReconnectPeer :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerHost -> NodeT m () Source #
startPeerPid :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> NodeT m () Source #
decodeMessage :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> Sink ByteString (StateT (Maybe (MerkleBlock, MerkleTxs)) (NodeT m)) () Source #
Decode messages sent from the remote host and send them to the peers main message queue for processing. If we receive invalid messages, this function will also notify the PeerManager about a misbehaving remote host.
processMessage :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> Message -> StateT (Maybe (MerkleBlock, MerkleTxs)) (NodeT m) () Source #
processInvMessage :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> Inv -> NodeT m () Source #
encodeMessage :: MonadLoggerIO m => Conduit Message (NodeT m) ByteString Source #
Encode message that are being sent to the remote host.
peerPing :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> NodeT m () Source #
isBloomDisabled :: Version -> Bool Source #
peerHandshake :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> TBMChan Message -> NodeT m () Source #
disconnectPeer :: MonadLoggerIO m => PeerId -> PeerHost -> NodeT m () Source #
sendBloomFilter :: BloomFilter -> Int -> NodeT STM () Source #
updateNetworkHeight :: NodeT STM () Source #
getConnectedPeers :: NodeT STM [(PeerId, PeerSession)] Source #
getPeersAtNetHeight :: NodeT STM [(PeerId, PeerSession)] Source #
getPeersAtHeight :: (BlockHeight -> Bool) -> NodeT STM [(PeerId, PeerSession)] Source #
misbehaving :: MonadLoggerIO m => PeerId -> PeerHost -> (PeerHostScore -> PeerHostScore) -> String -> NodeT m () Source #
:: (MonadIO m, MonadBaseControl IO m) | |
=> Int | Timeout value in seconds |
-> m a | Action to run if the main action times out |
-> m b | Action to run until the time runs out |
-> m (Either a b) |