|
|
|
@ -7,8 +7,6 @@ |
|
|
|
|
# Right now, PyBitmessage only support connecting to stream 1. It doesn't |
|
|
|
|
# yet contain logic to expand into further streams. |
|
|
|
|
|
|
|
|
|
# The software version variable is now held in shared.py |
|
|
|
|
|
|
|
|
|
import os |
|
|
|
|
import sys |
|
|
|
|
|
|
|
|
@ -31,24 +29,23 @@ import time |
|
|
|
|
import traceback |
|
|
|
|
from struct import pack |
|
|
|
|
|
|
|
|
|
from helper_startup import ( |
|
|
|
|
isOurOperatingSystemLimitedToHavingVeryFewHalfOpenConnections |
|
|
|
|
) |
|
|
|
|
from singleinstance import singleinstance |
|
|
|
|
|
|
|
|
|
import defaults |
|
|
|
|
import shared |
|
|
|
|
import knownnodes |
|
|
|
|
import state |
|
|
|
|
import shutdown |
|
|
|
|
from bmconfigparser import BMConfigParser |
|
|
|
|
from debug import logger # this should go before any threads |
|
|
|
|
from helper_startup import ( |
|
|
|
|
isOurOperatingSystemLimitedToHavingVeryFewHalfOpenConnections |
|
|
|
|
) |
|
|
|
|
from inventory import Inventory |
|
|
|
|
from knownnodes import readKnownNodes |
|
|
|
|
# Network objects and threads |
|
|
|
|
from network import ( |
|
|
|
|
BMConnectionPool, Dandelion, |
|
|
|
|
AddrThread, AnnounceThread, BMNetworkThread, InvThread, ReceiveQueueThread, |
|
|
|
|
DownloadThread, UploadThread) |
|
|
|
|
from singleinstance import singleinstance |
|
|
|
|
# Synchronous threads |
|
|
|
|
from threads import ( |
|
|
|
|
set_thread_name, |
|
|
|
@ -72,14 +69,6 @@ def connectToStream(streamNumber): |
|
|
|
|
except: |
|
|
|
|
pass |
|
|
|
|
|
|
|
|
|
with knownnodes.knownNodesLock: |
|
|
|
|
if streamNumber not in knownnodes.knownNodes: |
|
|
|
|
knownnodes.knownNodes[streamNumber] = {} |
|
|
|
|
if streamNumber * 2 not in knownnodes.knownNodes: |
|
|
|
|
knownnodes.knownNodes[streamNumber * 2] = {} |
|
|
|
|
if streamNumber * 2 + 1 not in knownnodes.knownNodes: |
|
|
|
|
knownnodes.knownNodes[streamNumber * 2 + 1] = {} |
|
|
|
|
|
|
|
|
|
BMConnectionPool().connectToStream(streamNumber) |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -279,7 +268,7 @@ class Main: |
|
|
|
|
defaults.networkDefaultPayloadLengthExtraBytes = int( |
|
|
|
|
defaults.networkDefaultPayloadLengthExtraBytes / 100) |
|
|
|
|
|
|
|
|
|
knownnodes.readKnownNodes() |
|
|
|
|
readKnownNodes() |
|
|
|
|
|
|
|
|
|
# Not needed if objproc is disabled |
|
|
|
|
if state.enableObjProc: |
|
|
|
|