[tor-commits] [sbws/master] destination: remove unused code

juga at torproject.org juga at torproject.org
Wed Feb 27 09:11:30 UTC 2019


commit 883307ba52088f92a514b34cd16e8f3c156c2123
Author: juga0 <juga at riseup.net>
Date:   Sat Dec 22 09:18:57 2018 +0000

    destination: remove unused code
---
 sbws/lib/destination.py                        | 75 --------------------------
 tests/integration/lib/test_destination.py      |  4 --
 tests/integration/lib/test_relayprioritizer.py |  1 -
 3 files changed, 80 deletions(-)

diff --git a/sbws/lib/destination.py b/sbws/lib/destination.py
index 302ac3f..e1be0bb 100644
--- a/sbws/lib/destination.py
+++ b/sbws/lib/destination.py
@@ -1,15 +1,11 @@
 import logging
 import random
-import time
-import os
-from threading import RLock
 import requests
 from urllib.parse import urlparse
 from stem.control import EventType
 
 from sbws.globals import DESTINATION_VERIFY_CERTIFICATE
 import sbws.util.stem as stem_utils
-import sbws.util.requests as requests_utils
 
 from ..globals import MAXIMUM_NUMBER_DESTINATION_FAILURES
 
@@ -153,17 +149,6 @@ class Destination:
             self.consecutive_failures += 1
         self.failed = True
 
-    def is_usable(self, circ_id, session, cont):
-        ''' Use **connect_to_destination_over_circuit** to determine if this
-        destination is usable and return what it returns. Just a small wrapper.
-        '''
-        if not isinstance(self.verify, bool):
-            if not os.path.isfile(self.verify):
-                return False, '{} is believed to be a CA bundle file on disk '\
-                    'but it does not exist'.format(self.verify)
-        return connect_to_destination_over_circuit(
-            self, circ_id, session, cont, self._max_dl)
-
     @property
     def url(self):
         return self._url.geturl()
@@ -208,71 +193,11 @@ class DestinationList:
         self._cb = circuit_builder
         self._rl = relay_list
         self._all_dests = dests
-        # Inially all destionations are usable until proven otherwise.
-        self._usable_dests = self._all_dests
-        self._last_usability_test = 0
-        self._usability_test_interval = \
-            conf.getint('destinations', 'usability_test_interval')
-        self._usability_test_timeout = \
-            conf.getfloat('general', 'http_timeout')
-        self._usability_lock = RLock()
 
     @property
     def functional_destinations(self):
         return [d for d in self._all_dests if d.is_functional]
 
-    def _should_perform_usability_test(self):
-        # Until bigger refactor, do not perform usability test.
-        # Every time a measurement is done, it already performs what usability
-        # test does.
-        return False
-
-    def _perform_usability_test(self):
-        self._usability_lock.acquire()
-        log.debug('Perform usability tests')
-        cont = self._cont
-        timeout = self._usability_test_timeout
-        session = requests_utils.make_session(cont, timeout)
-        usable_dests = []
-        for dest in self._all_dests:
-            possible_exits = self._rl.exits_not_bad_allowing_port(dest.port)
-            # Keep the fastest 10% of exits, or 3, whichever is larger
-            num_keep = int(max(3, len(possible_exits) * 0.1))
-            possible_exits = sorted(
-                possible_exits, key=lambda e: e.consensus_bandwidth,
-                reverse=True)
-            exits = possible_exits[0:num_keep]
-            if len(exits) < 1:
-                log.warning("There are no exits to perform usability tests.")
-                continue
-            # Try three times to build a circuit to test this destination
-            circ_id = None
-            for _ in range(0, 3):
-                # Pick a random exit
-                exit = self._rng.choice(exits)
-                circ_id, reason = \
-                    self._cb.build_circuit([None, exit.fingerprint])
-                if circ_id:
-                    break
-            if not circ_id:
-                log.warning('Unable to build a circuit to test the usability '
-                            'of %s, %s', dest.url, reason)
-                continue
-            log.debug('Built circ %s %s to test usability of %s', circ_id,
-                      stem_utils.circuit_str(cont, circ_id), dest.url)
-            is_usable, data = dest.is_usable(circ_id, session, cont)
-            if not is_usable:
-                log.warning(data)
-                self._cb.close_circuit(circ_id)
-                continue
-            assert is_usable
-            log.debug('%s seems usable so we will keep it', dest.url)
-            usable_dests.append(dest)
-            self._cb.close_circuit(circ_id)
-        self._usable_dests = usable_dests
-        self._last_usability_test = time.time()
-        self._usability_lock.release()
-
     @staticmethod
     def from_config(conf, circuit_builder, relay_list, controller):
         assert 'destinations' in conf
diff --git a/tests/integration/lib/test_destination.py b/tests/integration/lib/test_destination.py
index 44a8631..cc8c794 100644
--- a/tests/integration/lib/test_destination.py
+++ b/tests/integration/lib/test_destination.py
@@ -13,10 +13,6 @@ def test_destination_list_no_usability_test_success(
     destination_list, error_msg = DestinationList.from_config(
         conf, cb, rl, persistent_launch_tor
         )
-    # Initially all destinations should be "usable".
-    assert destination_list._all_dests == destination_list._usable_dests
-    # Because this is disabled.
-    assert destination_list._should_perform_usability_test() is False
     # Because there's only 1 destination in conftest, random should return
     # the same one.
     assert destination_list.next() == \
diff --git a/tests/integration/lib/test_relayprioritizer.py b/tests/integration/lib/test_relayprioritizer.py
index 60e3405..76c5969 100644
--- a/tests/integration/lib/test_relayprioritizer.py
+++ b/tests/integration/lib/test_relayprioritizer.py
@@ -14,7 +14,6 @@ def static_time(value):
 def _build_result_for_relay(conf, rl, result_type, relay_nick,
                             timestamp):
     relay = [r for r in rl.relays if r.nickname == relay_nick]
-    print(rl.relays)
     assert len(relay) == 1
     relay = relay[0]
     other = [r for r in rl.relays if r.nickname != relay_nick][0]





More information about the tor-commits mailing list