aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/protocols/portforward.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/protocols/portforward.py')
-rwxr-xr-xlib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/protocols/portforward.py87
1 files changed, 0 insertions, 87 deletions
diff --git a/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/protocols/portforward.py b/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/protocols/portforward.py
deleted file mode 100755
index 626d5aaf..00000000
--- a/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/protocols/portforward.py
+++ /dev/null
@@ -1,87 +0,0 @@
-
-# Copyright (c) Twisted Matrix Laboratories.
-# See LICENSE for details.
-
-"""
-A simple port forwarder.
-"""
-
-# Twisted imports
-from twisted.internet import protocol
-from twisted.python import log
-
-class Proxy(protocol.Protocol):
- noisy = True
-
- peer = None
-
- def setPeer(self, peer):
- self.peer = peer
-
- def connectionLost(self, reason):
- if self.peer is not None:
- self.peer.transport.loseConnection()
- self.peer = None
- elif self.noisy:
- log.msg("Unable to connect to peer: %s" % (reason,))
-
- def dataReceived(self, data):
- self.peer.transport.write(data)
-
-class ProxyClient(Proxy):
- def connectionMade(self):
- self.peer.setPeer(self)
-
- # Wire this and the peer transport together to enable
- # flow control (this stops connections from filling
- # this proxy memory when one side produces data at a
- # higher rate than the other can consume).
- self.transport.registerProducer(self.peer.transport, True)
- self.peer.transport.registerProducer(self.transport, True)
-
- # We're connected, everybody can read to their hearts content.
- self.peer.transport.resumeProducing()
-
-class ProxyClientFactory(protocol.ClientFactory):
-
- protocol = ProxyClient
-
- def setServer(self, server):
- self.server = server
-
- def buildProtocol(self, *args, **kw):
- prot = protocol.ClientFactory.buildProtocol(self, *args, **kw)
- prot.setPeer(self.server)
- return prot
-
- def clientConnectionFailed(self, connector, reason):
- self.server.transport.loseConnection()
-
-
-class ProxyServer(Proxy):
-
- clientProtocolFactory = ProxyClientFactory
- reactor = None
-
- def connectionMade(self):
- # Don't read anything from the connecting client until we have
- # somewhere to send it to.
- self.transport.pauseProducing()
-
- client = self.clientProtocolFactory()
- client.setServer(self)
-
- if self.reactor is None:
- from twisted.internet import reactor
- self.reactor = reactor
- self.reactor.connectTCP(self.factory.host, self.factory.port, client)
-
-
-class ProxyFactory(protocol.Factory):
- """Factory for port forwarder."""
-
- protocol = ProxyServer
-
- def __init__(self, host, port):
- self.host = host
- self.port = port