Пример #1
0
    def __init__(self, participant, address=None, loop=None):
        """Create a new gossiper.

        @param address: Listen address if the gossiper will not be
            bound to a specific listen interface.
        @param address: C{str}
        """
        self.loop = loop or asyncio.get_event_loop()
        self.state = PeerState(participant, loop=self.loop)
        self._states = {}
        self._address = address
        self._scuttle = Scuttle(self._states, self.state)
        self._heart_beat_timer = LoopingCall(self._beat_heart, _loop=self.loop)
        self._gossip_timer = LoopingCall(self._gossip, _loop=self.loop)
        self.participant = participant
        self._seeds = []
        self._transport = None
        self.name = None
Пример #2
0
 def _setup_state_for_peer(self, peer_name):
     """Setup state for a new peer."""
     self._states[peer_name] = PeerState(self.participant,
                                         name=peer_name,
                                         loop=self.loop)