Skip to content

Instantly share code, notes, and snippets.

@valesi
Created April 21, 2019 08:40
Show Gist options
  • Save valesi/13c8f45255370c676f6b58d23ed15477 to your computer and use it in GitHub Desktop.
Save valesi/13c8f45255370c676f6b58d23ed15477 to your computer and use it in GitHub Desktop.
E-X separate Tor + time slice window env -- is_tor(): return False in aiorpcX SessionBase
diff --git a/electrumx/server/session.py b/electrumx/server/session.py
index 45a1839..9c0e50f 100644
--- a/electrumx/server/session.py
+++ b/electrumx/server/session.py
@@ -758,7 +758,7 @@ class SessionManager(object):
return '.'.join(ip_addr.split('.')[:3])
def _timeslice_name(self, session):
- return f't{int(session.start_time - self.start_time) // 300}'
+ return f't{int(session.start_time - self.start_time) // self.env.timeslice_window}{"_tor" if session.is_tor() else ""}'
def _session_group(self, name, weight):
group = self.session_groups.get(name)
@@ -770,10 +770,10 @@ class SessionManager(object):
def add_session(self, session):
self.session_event.set()
# Return the session groups
- groups = (
- self._session_group(self._timeslice_name(session), 0.03),
- self._session_group(self._ip_addr_group_name(session), 1.0),
- )
+ groups = [self._session_group(self._timeslice_name(session), 0.03)]
+ if not session.is_tor():
+ groups.append(self._session_group(self._ip_addr_group_name(session), 1.0))
+ groups = tuple(groups)
self.sessions[session] = groups
for group in groups:
group.sessions.add(session)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment