Safe Haskell | None |
---|---|
Language | Haskell2010 |
Ouroboros.Network.PeerSelection.PublicRootPeers
Contents
Description
The module is designed to be imported qualified.
Synopsis
- data PublicRootPeers extraPeers peeraddr = PublicRootPeers {
- getLedgerPeers :: !(Set peeraddr)
- getBigLedgerPeers :: !(Set peeraddr)
- getExtraPeers :: !extraPeers
- invariant :: Ord peeraddr => (extraPeers -> Bool) -> (extraPeers -> Set peeraddr) -> PublicRootPeers extraPeers peeraddr -> Bool
- member :: Ord peeraddr => peeraddr -> (peeraddr -> extraPeers -> Bool) -> PublicRootPeers extraPeers peeraddr -> Bool
- empty :: extraPeers -> PublicRootPeers extraPeers peeraddr
- null :: (extraPeers -> Bool) -> PublicRootPeers extraPeers peeraddr -> Bool
- size :: (extraPeers -> Int) -> PublicRootPeers extraPeers peeraddr -> Int
- toAllLedgerPeerSet :: Ord peeraddr => PublicRootPeers extraPeers peeraddr -> Set peeraddr
- fromLedgerPeers :: Monoid extraPeers => Set peeraddr -> PublicRootPeers extraPeers peeraddr
- fromBigLedgerPeers :: Monoid extraPeers => Set peeraddr -> PublicRootPeers extraPeers peeraddr
- toSet :: Ord peeraddr => (extraPeers -> Set peeraddr) -> PublicRootPeers extraPeers peeraddr -> Set peeraddr
- difference :: Ord peeraddr => (extraPeers -> Set peeraddr -> extraPeers) -> PublicRootPeers extraPeers peeraddr -> Set peeraddr -> PublicRootPeers extraPeers peeraddr
- intersection :: Ord peeraddr => (extraPeers -> Set peeraddr -> extraPeers) -> PublicRootPeers extraPeers peeraddr -> Set peeraddr -> PublicRootPeers extraPeers peeraddr
- fromDisjointSets :: Ord peeraddr => (extraPeers -> Set peeraddr) -> extraPeers -> Set peeraddr -> Set peeraddr -> PublicRootPeers extraPeers peeraddr
- mergeG :: (Ord peeraddr, Semigroup extraPeers) => (extraPeers -> Set peeraddr) -> PublicRootPeers extraPeers peeraddr -> PublicRootPeers extraPeers peeraddr -> PublicRootPeers extraPeers peeraddr
Types
data PublicRootPeers extraPeers peeraddr Source #
Public Root Peers consist of either a set of manually configured bootstrap peers.
There's an implicit precedence that will priorise bootstrap peers over the other sets, so if we are adding a bootstrap peer and that peer is already a member of other public root set, it is going to be removed from that set and added to the bootstrap peer set.
Constructors
PublicRootPeers | |
Fields
|
Instances
(Show peeraddr, Show extraPeers) => Show (PublicRootPeers extraPeers peeraddr) Source # | |
Defined in Ouroboros.Network.PeerSelection.PublicRootPeers Methods showsPrec :: Int -> PublicRootPeers extraPeers peeraddr -> ShowS # show :: PublicRootPeers extraPeers peeraddr -> String # showList :: [PublicRootPeers extraPeers peeraddr] -> ShowS # | |
(Eq peeraddr, Eq extraPeers) => Eq (PublicRootPeers extraPeers peeraddr) Source # | |
Defined in Ouroboros.Network.PeerSelection.PublicRootPeers Methods (==) :: PublicRootPeers extraPeers peeraddr -> PublicRootPeers extraPeers peeraddr -> Bool # (/=) :: PublicRootPeers extraPeers peeraddr -> PublicRootPeers extraPeers peeraddr -> Bool # |
invariant :: Ord peeraddr => (extraPeers -> Bool) -> (extraPeers -> Set peeraddr) -> PublicRootPeers extraPeers peeraddr -> Bool Source #
Polymorphic operations
member :: Ord peeraddr => peeraddr -> (peeraddr -> extraPeers -> Bool) -> PublicRootPeers extraPeers peeraddr -> Bool Source #
empty :: extraPeers -> PublicRootPeers extraPeers peeraddr Source #
toAllLedgerPeerSet :: Ord peeraddr => PublicRootPeers extraPeers peeraddr -> Set peeraddr Source #
fromLedgerPeers :: Monoid extraPeers => Set peeraddr -> PublicRootPeers extraPeers peeraddr Source #
fromBigLedgerPeers :: Monoid extraPeers => Set peeraddr -> PublicRootPeers extraPeers peeraddr Source #
toSet :: Ord peeraddr => (extraPeers -> Set peeraddr) -> PublicRootPeers extraPeers peeraddr -> Set peeraddr Source #
difference :: Ord peeraddr => (extraPeers -> Set peeraddr -> extraPeers) -> PublicRootPeers extraPeers peeraddr -> Set peeraddr -> PublicRootPeers extraPeers peeraddr Source #
intersection :: Ord peeraddr => (extraPeers -> Set peeraddr -> extraPeers) -> PublicRootPeers extraPeers peeraddr -> Set peeraddr -> PublicRootPeers extraPeers peeraddr Source #
Arguments
:: Ord peeraddr | |
=> (extraPeers -> Set peeraddr) | |
-> extraPeers | |
-> Set peeraddr | ledger peers |
-> Set peeraddr | big ledger peers |
-> PublicRootPeers extraPeers peeraddr |
mergeG :: (Ord peeraddr, Semigroup extraPeers) => (extraPeers -> Set peeraddr) -> PublicRootPeers extraPeers peeraddr -> PublicRootPeers extraPeers peeraddr -> PublicRootPeers extraPeers peeraddr Source #