You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1.2 KiB

import threading
import time
from bmconfigparser import BMConfigParser
from debug import logger
from helper_threading import StoppableThread
from network.bmproto import BMProto
from network.connectionpool import BMConnectionPool
from network.udp import UDPSocket
import state
class AnnounceThread(threading.Thread, StoppableThread):
def __init__(self):
threading.Thread.__init__(self, name="AnnounceThread")
self.initStop() = "AnnounceThread""init announce thread")
def run(self):
lastSelfAnnounced = 0
while not self._stopped and state.shutdown == 0:
processed = 0
if lastSelfAnnounced < time.time() - UDPSocket.announceInterval:
lastSelfAnnounced = time.time()
if processed == 0:
def announceSelf(self):
for connection in BMConnectionPool().udpSockets.values():
for stream in state.streamsInWhichIAmParticipating:
addr = (stream, state.Peer('', BMConfigParser().safeGetInt("bitmessagesettings", "port")), time.time())