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
startReconnectPeer :: (MonadLoggerIO m, MonadBaseControl IO m) => 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.
isBloomDisabled :: Version -> Bool Source
peerHandshake :: (MonadLoggerIO m, MonadBaseControl IO m) => PeerId -> PeerHost -> TBMChan Message -> NodeT m () Source
waitPeerVersion :: PeerId -> NodeT STM Version Source
disconnectPeer :: MonadLoggerIO m => PeerId -> PeerHost -> NodeT m () Source
waitPeerAvailable :: PeerId -> NodeT STM () Source
waitBloomFilter :: NodeT STM BloomFilter 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
sendMessage :: PeerId -> Message -> NodeT STM () Source
sendMessageAll :: Message -> NodeT STM () Source
misbehaving :: MonadLoggerIO m => PeerId -> PeerHost -> (PeerHostScore -> PeerHostScore) -> String -> NodeT m () Source