ouroboros-network
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Network.PeerSelection.PublicRootPeers

Description

The module is designed to be imported qualified.

Synopsis

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

Instances details
(Show peeraddr, Show extraPeers) => Show (PublicRootPeers extraPeers peeraddr) Source # 
Instance details

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 # 
Instance details

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 #

null :: (extraPeers -> Bool) -> PublicRootPeers extraPeers peeraddr -> Bool Source #

size :: (extraPeers -> Int) -> PublicRootPeers extraPeers peeraddr -> Int 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 #

fromDisjointSets 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 #