AddrThread
- this thread is for spreading new/updated addresses in active connections, analogous to the InvThread - it doesn't do anything yet, this is just a dummy queue at the moment
This commit is contained in:
parent
27f5de0f9c
commit
e00a02206b
|
@ -57,6 +57,7 @@ from network.networkthread import BMNetworkThread
|
|||
from network.receivequeuethread import ReceiveQueueThread
|
||||
from network.announcethread import AnnounceThread
|
||||
from network.invthread import InvThread
|
||||
from network.addrthread import AddrThread
|
||||
from network.downloadthread import DownloadThread
|
||||
|
||||
# Helper Functions
|
||||
|
@ -276,6 +277,9 @@ class Main:
|
|||
downloadThread = DownloadThread()
|
||||
downloadThread.daemon = True
|
||||
downloadThread.start()
|
||||
state.addrThread = AddrThread()
|
||||
state.addrThread.daemon = True
|
||||
state.addrThread.start()
|
||||
|
||||
connectToStream(1)
|
||||
|
||||
|
|
30
src/network/addrthread.py
Normal file
30
src/network/addrthread.py
Normal file
|
@ -0,0 +1,30 @@
|
|||
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="AddrThread")
|
||||
self.initStop()
|
||||
self.name = "AddrThread"
|
||||
|
||||
def run(self):
|
||||
while not state.shutdown:
|
||||
chunk = []
|
||||
while True:
|
||||
try:
|
||||
data = addrQueue.get(False)
|
||||
chunk.append((data[0], data[1]))
|
||||
except Queue.Empty:
|
||||
break
|
||||
|
||||
#finish
|
||||
|
||||
addrQueue.iterate()
|
||||
self.stop.wait(1)
|
|
@ -24,6 +24,7 @@ sqlReady = False # set to true by sqlTread when ready for processing
|
|||
maximumNumberOfHalfOpenConnections = 0
|
||||
|
||||
invThread = None
|
||||
addrThread = None
|
||||
|
||||
ownAddresses = {}
|
||||
|
||||
|
|
Reference in New Issue
Block a user