plumtree / org.apache.tuweni.plumtree / PeerRepository

PeerRepository

interface PeerRepository (source)

Repository of active peers associating with a gossip tree.

Functions

addEager

abstract fun addEager(peer: Peer): Unit

considerNewPeer

abstract fun considerNewPeer(peer: Peer): Unit

Proposes a peer as a new peer.

eagerPushPeers

abstract fun eagerPushPeers(): MutableCollection<Peer>

Provides the list of all eager peers connected.

lazyPushPeers

abstract fun lazyPushPeers(): MutableCollection<Peer>

Provides the list of all lazy peers connected.

moveToEager

abstract fun moveToEager(peer: Peer): Unit

Moves a peer to the list of eager peers.

moveToLazy

abstract fun moveToLazy(peer: Peer): Boolean

Moves a peer to the list of lazy peers

peers

abstract fun peers(): MutableList<Peer>

Provides the list of all the peers connected.

removePeer

abstract fun removePeer(peer: Peer): Unit

Removes a peer from the repository

Inheritors

EphemeralPeerRepository

class EphemeralPeerRepository : PeerRepository

In-memory peer repository.