| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Test.Ouroboros.Network.PeerSelection.LocalRootPeers
Contents
Synopsis
- arbitraryLocalRootPeers :: (Ord peeraddr, Arbitrary extraFlags) => Set peeraddr -> Gen (LocalRootPeers extraFlags peeraddr)
- data AdvertiseChange extraFlags
- governorAdvertiseChanges :: forall extraState extraFlags extraPeers. (Eq extraFlags, Show extraFlags) => (forall s. PeerSelectionActions extraState extraFlags extraPeers () PeerAddr () (IOSim s) -> PeerSelectionState extraState extraFlags extraPeers PeerAddr () -> Guarded (STM (IOSim s)) (TimedDecision (IOSim s) extraState () extraFlags extraPeers PeerAddr ())) -> extraState -> extraPeers -> PublicExtraPeersAPI extraPeers PeerAddr -> AdvertiseChange extraFlags -> Property
- restrictKeys :: Ord peeraddr => LocalRootPeers extraFlags peeraddr -> Set peeraddr -> LocalRootPeers extraFlags peeraddr
- tests :: TestTree
- data LocalRootPeers extraFlags peeraddr = LocalRootPeers (Map peeraddr (LocalRootConfig extraFlags)) [(HotValency, WarmValency, Set peeraddr)]
- newtype HotValency = HotValency {
- getHotValency :: Int
- newtype WarmValency = WarmValency {}
Documentation
arbitraryLocalRootPeers :: (Ord peeraddr, Arbitrary extraFlags) => Set peeraddr -> Gen (LocalRootPeers extraFlags peeraddr) Source #
data AdvertiseChange extraFlags Source #
A change of local roots, with the known peers before it: the old local roots with their flags, and other peers.
Instances
| (Arbitrary extraFlags, Eq extraFlags) => Arbitrary (AdvertiseChange extraFlags) Source # | The new local roots are mostly an edit of the old ones: entries dropped, flags flipped, a group of new peers added. Shrinking removes a peer from both, or undoes a flag's change, so a kept peer stays kept. |
Defined in Test.Ouroboros.Network.PeerSelection.LocalRootPeers Methods arbitrary :: Gen (AdvertiseChange extraFlags) # shrink :: AdvertiseChange extraFlags -> [AdvertiseChange extraFlags] # | |
| Show extraFlags => Show (AdvertiseChange extraFlags) Source # | |
Defined in Test.Ouroboros.Network.PeerSelection.LocalRootPeers Methods showsPrec :: Int -> AdvertiseChange extraFlags -> ShowS # show :: AdvertiseChange extraFlags -> String # showList :: [AdvertiseChange extraFlags] -> ShowS # | |
governorAdvertiseChanges :: forall extraState extraFlags extraPeers. (Eq extraFlags, Show extraFlags) => (forall s. PeerSelectionActions extraState extraFlags extraPeers () PeerAddr () (IOSim s) -> PeerSelectionState extraState extraFlags extraPeers PeerAddr () -> Guarded (STM (IOSim s)) (TimedDecision (IOSim s) extraState () extraFlags extraPeers PeerAddr ())) -> extraState -> extraPeers -> PublicExtraPeersAPI extraPeers PeerAddr -> AdvertiseChange extraFlags -> Property Source #
A governor's local roots monitor, from a state holding the old local
roots and known peers with their flags, reads the new ones and leaves the
known peers as knownPeersAfter requires; it does not fire when nothing
changed. The monitor runs once, on a state with the given extra state and
extra peers.
restrictKeys :: Ord peeraddr => LocalRootPeers extraFlags peeraddr -> Set peeraddr -> LocalRootPeers extraFlags peeraddr Source #
data LocalRootPeers extraFlags peeraddr #
Constructors
| LocalRootPeers (Map peeraddr (LocalRootConfig extraFlags)) [(HotValency, WarmValency, Set peeraddr)] |
Instances
| (Arbitrary extraFlags, Arbitrary peeraddr, Ord peeraddr) => Arbitrary (LocalRootPeers extraFlags peeraddr) Source # | |
Defined in Test.Ouroboros.Network.PeerSelection.LocalRootPeers Methods arbitrary :: Gen (LocalRootPeers extraFlags peeraddr) # shrink :: LocalRootPeers extraFlags peeraddr -> [LocalRootPeers extraFlags peeraddr] # | |
| (Show extraFlags, Show peeraddr, Ord peeraddr) => Show (LocalRootPeers extraFlags peeraddr) | |
Defined in Ouroboros.Network.PeerSelection.State.LocalRootPeers Methods showsPrec :: Int -> LocalRootPeers extraFlags peeraddr -> ShowS # show :: LocalRootPeers extraFlags peeraddr -> String # showList :: [LocalRootPeers extraFlags peeraddr] -> ShowS # | |
| (Eq peeraddr, Eq extraFlags) => Eq (LocalRootPeers extraFlags peeraddr) | |
Defined in Ouroboros.Network.PeerSelection.State.LocalRootPeers Methods (==) :: LocalRootPeers extraFlags peeraddr -> LocalRootPeers extraFlags peeraddr -> Bool # (/=) :: LocalRootPeers extraFlags peeraddr -> LocalRootPeers extraFlags peeraddr -> Bool # | |
newtype HotValency #
Newtype wrapper representing hot valency value from local root group configuration
Constructors
| HotValency | |
Fields
| |
Instances
newtype WarmValency #
Newtype wrapper representing warm valency value from local root group configuration
Constructors
| WarmValency | |
Fields | |
Instances
Orphan instances
| (Arbitrary extraFlags, Arbitrary peeraddr, Ord peeraddr) => Arbitrary (LocalRootPeers extraFlags peeraddr) Source # | |
Methods arbitrary :: Gen (LocalRootPeers extraFlags peeraddr) # shrink :: LocalRootPeers extraFlags peeraddr -> [LocalRootPeers extraFlags peeraddr] # | |