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