More verbose peer logging
Force more reconnects. Restrict semaphore to 2.
This commit is contained in:
parent
9bc326430d
commit
2c1481859f
@ -25,7 +25,7 @@ import server.version as version
|
|||||||
|
|
||||||
PEERS_FILE = 'peers'
|
PEERS_FILE = 'peers'
|
||||||
PEER_GOOD, PEER_STALE, PEER_NEVER, PEER_BAD = range(4)
|
PEER_GOOD, PEER_STALE, PEER_NEVER, PEER_BAD = range(4)
|
||||||
STALE_SECS = 86400
|
STALE_SECS = 3600 #86400
|
||||||
WAKEUP_SECS = 300
|
WAKEUP_SECS = 300
|
||||||
|
|
||||||
|
|
||||||
@ -216,7 +216,7 @@ class PeerManager(util.LoggedClass):
|
|||||||
self.irc = IRC(env, self)
|
self.irc = IRC(env, self)
|
||||||
self.myselves = peers_from_env(env)
|
self.myselves = peers_from_env(env)
|
||||||
# value is max outgoing connections at a time
|
# value is max outgoing connections at a time
|
||||||
self.semaphore = asyncio.BoundedSemaphore(value=8)
|
self.semaphore = asyncio.BoundedSemaphore(value=2)
|
||||||
self.retry_event = asyncio.Event()
|
self.retry_event = asyncio.Event()
|
||||||
# Peers have one entry per hostname. Once connected, the
|
# Peers have one entry per hostname. Once connected, the
|
||||||
# ip_addr property is either None, an onion peer, or the
|
# ip_addr property is either None, an onion peer, or the
|
||||||
@ -228,6 +228,7 @@ class PeerManager(util.LoggedClass):
|
|||||||
self.tor_proxy = SocksProxy(env.tor_proxy_host, env.tor_proxy_port,
|
self.tor_proxy = SocksProxy(env.tor_proxy_host, env.tor_proxy_port,
|
||||||
loop=self.loop)
|
loop=self.loop)
|
||||||
self.import_peers()
|
self.import_peers()
|
||||||
|
self.conn_count = 0
|
||||||
|
|
||||||
def my_clearnet_peer(self):
|
def my_clearnet_peer(self):
|
||||||
'''Returns the clearnet peer representing this server.'''
|
'''Returns the clearnet peer representing this server.'''
|
||||||
@ -469,6 +470,10 @@ class PeerManager(util.LoggedClass):
|
|||||||
if peer.bad or not pairs:
|
if peer.bad or not pairs:
|
||||||
self.maybe_forget_peer(peer)
|
self.maybe_forget_peer(peer)
|
||||||
else:
|
else:
|
||||||
|
peer.conn_count = self.conn_count
|
||||||
|
self.conn_count += 1
|
||||||
|
self.log_info('preparing connection {:d} to {}'
|
||||||
|
.format(peer.conn_count, peer))
|
||||||
start = time.time()
|
start = time.time()
|
||||||
await self.semaphore.acquire()
|
await self.semaphore.acquire()
|
||||||
elapsed = time.time() - start
|
elapsed = time.time() - start
|
||||||
@ -512,9 +517,14 @@ class PeerManager(util.LoggedClass):
|
|||||||
else:
|
else:
|
||||||
self.set_connection_status(peer, False)
|
self.set_connection_status(peer, False)
|
||||||
self.semaphore.release()
|
self.semaphore.release()
|
||||||
|
self.log_info('connection {:d} to {} failed'
|
||||||
|
.format(peer.conn_count, peer))
|
||||||
|
|
||||||
def connection_lost(self, session):
|
def connection_lost(self, session):
|
||||||
'''Called by the peer session when disconnected.'''
|
'''Called by the peer session when disconnected.'''
|
||||||
|
peer = session.peer
|
||||||
|
self.log_info('connection {:d} to {} closed'
|
||||||
|
.format(peer.conn_count, peer))
|
||||||
self.semaphore.release()
|
self.semaphore.release()
|
||||||
|
|
||||||
def set_connection_status(self, peer, good):
|
def set_connection_status(self, peer, good):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user