Spawn message loops for outgoing connections in a sepatare pool managed by ConnectionServer
This commit is contained in:
parent
fe24e17baa
commit
e612f93631
2 changed files with 4 additions and 1 deletions
|
@ -167,7 +167,7 @@ class Connection(object):
|
||||||
# Detect protocol
|
# Detect protocol
|
||||||
event_connected = self.event_connected
|
event_connected = self.event_connected
|
||||||
self.send({"cmd": "handshake", "req_id": 0, "params": self.getHandshakeInfo()})
|
self.send({"cmd": "handshake", "req_id": 0, "params": self.getHandshakeInfo()})
|
||||||
gevent.spawn(self.messageLoop)
|
self.server.outgoing_pool.spawn(self.messageLoop)
|
||||||
connect_res = event_connected.get() # Wait for handshake
|
connect_res = event_connected.get() # Wait for handshake
|
||||||
if self.sock:
|
if self.sock:
|
||||||
self.sock.settimeout(timeout_before)
|
self.sock.settimeout(timeout_before)
|
||||||
|
|
|
@ -79,6 +79,9 @@ class ConnectionServer(object):
|
||||||
self.pool = Pool(500) # do not accept more than 500 connections
|
self.pool = Pool(500) # do not accept more than 500 connections
|
||||||
self.managed_pools["incoming"] = self.pool
|
self.managed_pools["incoming"] = self.pool
|
||||||
|
|
||||||
|
self.outgoing_pool = Pool(None)
|
||||||
|
self.managed_pools["outgoing"] = self.outgoing_pool
|
||||||
|
|
||||||
# Bittorrent style peerid
|
# Bittorrent style peerid
|
||||||
self.peer_id = "-UT3530-%s" % CryptHash.random(12, "base64")
|
self.peer_id = "-UT3530-%s" % CryptHash.random(12, "base64")
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue