Track used site per connection
This commit is contained in:
parent
2a8355dba7
commit
75a5ab9441
3 changed files with 7 additions and 1 deletions
|
@ -15,7 +15,7 @@ class Connection(object):
|
|||
"sock", "sock_wrapped", "ip", "port", "cert_pin", "site_lock", "id", "protocol", "type", "server", "unpacker", "req_id",
|
||||
"handshake", "crypt", "connected", "event_connected", "closed", "start_time", "last_recv_time",
|
||||
"last_message_time", "last_send_time", "last_sent_time", "incomplete_buff_recv", "bytes_recv", "bytes_sent",
|
||||
"last_ping_delay", "last_req_time", "last_cmd", "bad_actions", "name", "updateName", "waiting_requests", "waiting_streams"
|
||||
"last_ping_delay", "last_req_time", "last_cmd", "bad_actions", "sites", "name", "updateName", "waiting_requests", "waiting_streams"
|
||||
)
|
||||
|
||||
def __init__(self, server, ip, port, sock=None, site_lock=None):
|
||||
|
@ -55,6 +55,7 @@ class Connection(object):
|
|||
self.last_req_time = 0
|
||||
self.last_cmd = None
|
||||
self.bad_actions = 0
|
||||
self.sites = 0
|
||||
|
||||
self.name = None
|
||||
self.updateName()
|
||||
|
@ -433,6 +434,7 @@ class Connection(object):
|
|||
request.set(False)
|
||||
self.waiting_requests = {}
|
||||
self.waiting_streams = {}
|
||||
self.sites = 0
|
||||
self.server.removeConnection(self) # Remove connection from server registry
|
||||
try:
|
||||
if self.sock:
|
||||
|
|
|
@ -134,6 +134,8 @@ class FileRequest(object):
|
|||
else:
|
||||
peer = site.addPeer(self.connection.ip, self.connection.port, return_peer=True) # Add or get peer
|
||||
if peer:
|
||||
if not peer.connection:
|
||||
peer.connect(self.connection) # Assign current connection to peer
|
||||
peer.last_content_json_update = site.content_manager.contents[params["inner_path"]]["modified"]
|
||||
if config.verbose:
|
||||
self.log.debug(
|
||||
|
|
|
@ -61,6 +61,7 @@ class Peer(object):
|
|||
|
||||
if connection: # Connection specified
|
||||
self.connection = connection
|
||||
self.connection.sites += 1
|
||||
else: # Try to find from connection pool or create new connection
|
||||
self.connection = None
|
||||
|
||||
|
@ -71,6 +72,7 @@ class Peer(object):
|
|||
self.connection = self.site.connection_server.getConnection(self.ip, self.port, site=self.site)
|
||||
else:
|
||||
self.connection = sys.modules["main"].file_server.getConnection(self.ip, self.port, site=self.site)
|
||||
self.connection.sites += 1
|
||||
|
||||
except Exception, err:
|
||||
self.onConnectionError()
|
||||
|
|
Loading…
Reference in a new issue