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.receivequeuethread import ReceiveQueueThread
|
||||||
from network.announcethread import AnnounceThread
|
from network.announcethread import AnnounceThread
|
||||||
from network.invthread import InvThread
|
from network.invthread import InvThread
|
||||||
|
from network.addrthread import AddrThread
|
||||||
from network.downloadthread import DownloadThread
|
from network.downloadthread import DownloadThread
|
||||||
|
|
||||||
# Helper Functions
|
# Helper Functions
|
||||||
|
@ -276,6 +277,9 @@ class Main:
|
||||||
downloadThread = DownloadThread()
|
downloadThread = DownloadThread()
|
||||||
downloadThread.daemon = True
|
downloadThread.daemon = True
|
||||||
downloadThread.start()
|
downloadThread.start()
|
||||||
|
state.addrThread = AddrThread()
|
||||||
|
state.addrThread.daemon = True
|
||||||
|
state.addrThread.start()
|
||||||
|
|
||||||
connectToStream(1)
|
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
|
maximumNumberOfHalfOpenConnections = 0
|
||||||
|
|
||||||
invThread = None
|
invThread = None
|
||||||
|
addrThread = None
|
||||||
|
|
||||||
ownAddresses = {}
|
ownAddresses = {}
|
||||||
|
|
||||||
|
|
Reference in New Issue
Block a user