Index: tools/telemetry/telemetry/internal/forwarders/do_nothing_forwarder.py |
diff --git a/tools/telemetry/telemetry/internal/forwarders/do_nothing_forwarder.py b/tools/telemetry/telemetry/internal/forwarders/do_nothing_forwarder.py |
deleted file mode 100644 |
index 1e08ff7a29bb8fd43bb991d525b8fa40a2f5018b..0000000000000000000000000000000000000000 |
--- a/tools/telemetry/telemetry/internal/forwarders/do_nothing_forwarder.py |
+++ /dev/null |
@@ -1,77 +0,0 @@ |
-# Copyright 2014 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-import contextlib |
-import logging |
-import socket |
- |
-from telemetry.core import exceptions |
-from telemetry.core import util |
-from telemetry.internal import forwarders |
- |
- |
-class Error(Exception): |
- """Base class for exceptions in this module.""" |
- pass |
- |
- |
-class PortsMismatchError(Error): |
- """Raised when local and remote ports are not equal.""" |
- pass |
- |
- |
-class ConnectionError(Error): |
- """Raised when unable to connect to local TCP ports.""" |
- pass |
- |
- |
-class DoNothingForwarderFactory(forwarders.ForwarderFactory): |
- |
- def Create(self, port_pairs): |
- return DoNothingForwarder(port_pairs) |
- |
- |
-class DoNothingForwarder(forwarders.Forwarder): |
- """Check that no forwarding is needed for the given port pairs. |
- |
- The local and remote ports must be equal. Otherwise, the "do nothing" |
- forwarder does not make sense. (Raises PortsMismatchError.) |
- |
- Also, check that all TCP ports support connections. (Raises ConnectionError.) |
- """ |
- |
- def __init__(self, port_pairs): |
- super(DoNothingForwarder, self).__init__(port_pairs) |
- self._CheckPortPairs() |
- |
- def _CheckPortPairs(self): |
- # namedtuple._asdict() is a public method. The method starts with an |
- # underscore to avoid conflicts with attribute names. |
- # pylint: disable=protected-access |
- for protocol, port_pair in self._port_pairs._asdict().items(): |
- if not port_pair: |
- continue |
- local_port, remote_port = port_pair |
- if local_port != remote_port: |
- raise PortsMismatchError('Local port forwarding is not supported') |
- if protocol == 'dns': |
- logging.debug('Connection test SKIPPED for DNS: %s:%d', |
- self.host_ip, local_port) |
- continue |
- try: |
- self._WaitForConnectionEstablished( |
- (self.host_ip, local_port), timeout=10) |
- logging.debug( |
- 'Connection test succeeded for %s: %s:%d', |
- protocol.upper(), self.host_ip, local_port) |
- except exceptions.TimeoutException: |
- raise ConnectionError( |
- 'Unable to connect to %s address: %s:%d', |
- protocol.upper(), self.host_ip, local_port) |
- |
- def _WaitForConnectionEstablished(self, address, timeout): |
- def CanConnect(): |
- with contextlib.closing(socket.socket()) as s: |
- return s.connect_ex(address) == 0 |
- util.WaitFor(CanConnect, timeout) |