This repository has been archived on 2025-02-24. You can view files and clone it, but cannot push or open issues or pull requests.

37 lines
1.0 KiB
Python
Raw Normal View History

import Queue
import threading
import addresses
from helper_threading import StoppableThread
from network.connectionpool import BMConnectionPool
from queues import addrQueue
import protocol
import state
class AddrThread(threading.Thread, StoppableThread):
def __init__(self):
threading.Thread.__init__(self, name="AddrBroadcaster")
self.initStop()
self.name = "AddrBroadcaster"
def run(self):
while not state.shutdown:
chunk = []
while True:
try:
data = addrQueue.get(False)
chunk.append((data[0], data[1]))
if len(data) > 2:
source = BMConnectionPool().getConnectionByAddr(data[2])
except Queue.Empty:
break
except KeyError:
continue
#finish
addrQueue.iterate()
for i in range(len(chunk)):
addrQueue.task_done()
self.stop.wait(1)