aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/internet/_posixstdio.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/internet/_posixstdio.py')
-rwxr-xr-xlib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/internet/_posixstdio.py175
1 files changed, 0 insertions, 175 deletions
diff --git a/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/internet/_posixstdio.py b/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/internet/_posixstdio.py
deleted file mode 100755
index 11b3205e..00000000
--- a/lib/python2.7/site-packages/Twisted-12.2.0-py2.7-linux-x86_64.egg/twisted/internet/_posixstdio.py
+++ /dev/null
@@ -1,175 +0,0 @@
-# -*- test-case-name: twisted.test.test_stdio -*-
-
-"""Standard input/out/err support.
-
-Future Plans::
-
- support for stderr, perhaps
- Rewrite to use the reactor instead of an ad-hoc mechanism for connecting
- protocols to transport.
-
-Maintainer: James Y Knight
-"""
-
-import warnings
-from zope.interface import implements
-
-from twisted.internet import process, error, interfaces
-from twisted.python import log, failure
-
-
-class PipeAddress(object):
- implements(interfaces.IAddress)
-
-
-class StandardIO(object):
- implements(interfaces.ITransport, interfaces.IProducer,
- interfaces.IConsumer, interfaces.IHalfCloseableDescriptor)
-
- _reader = None
- _writer = None
- disconnected = False
- disconnecting = False
-
- def __init__(self, proto, stdin=0, stdout=1, reactor=None):
- if reactor is None:
- from twisted.internet import reactor
- self.protocol = proto
-
- self._writer = process.ProcessWriter(reactor, self, 'write', stdout)
- self._reader = process.ProcessReader(reactor, self, 'read', stdin)
- self._reader.startReading()
- self.protocol.makeConnection(self)
-
- # ITransport
-
- # XXX Actually, see #3597.
- def loseWriteConnection(self):
- if self._writer is not None:
- self._writer.loseConnection()
-
- def write(self, data):
- if self._writer is not None:
- self._writer.write(data)
-
- def writeSequence(self, data):
- if self._writer is not None:
- self._writer.writeSequence(data)
-
- def loseConnection(self):
- self.disconnecting = True
-
- if self._writer is not None:
- self._writer.loseConnection()
- if self._reader is not None:
- # Don't loseConnection, because we don't want to SIGPIPE it.
- self._reader.stopReading()
-
- def getPeer(self):
- return PipeAddress()
-
- def getHost(self):
- return PipeAddress()
-
-
- # Callbacks from process.ProcessReader/ProcessWriter
- def childDataReceived(self, fd, data):
- self.protocol.dataReceived(data)
-
- def childConnectionLost(self, fd, reason):
- if self.disconnected:
- return
-
- if reason.value.__class__ == error.ConnectionDone:
- # Normal close
- if fd == 'read':
- self._readConnectionLost(reason)
- else:
- self._writeConnectionLost(reason)
- else:
- self.connectionLost(reason)
-
- def connectionLost(self, reason):
- self.disconnected = True
-
- # Make sure to cleanup the other half
- _reader = self._reader
- _writer = self._writer
- protocol = self.protocol
- self._reader = self._writer = None
- self.protocol = None
-
- if _writer is not None and not _writer.disconnected:
- _writer.connectionLost(reason)
-
- if _reader is not None and not _reader.disconnected:
- _reader.connectionLost(reason)
-
- try:
- protocol.connectionLost(reason)
- except:
- log.err()
-
- def _writeConnectionLost(self, reason):
- self._writer=None
- if self.disconnecting:
- self.connectionLost(reason)
- return
-
- p = interfaces.IHalfCloseableProtocol(self.protocol, None)
- if p:
- try:
- p.writeConnectionLost()
- except:
- log.err()
- self.connectionLost(failure.Failure())
-
- def _readConnectionLost(self, reason):
- self._reader=None
- p = interfaces.IHalfCloseableProtocol(self.protocol, None)
- if p:
- try:
- p.readConnectionLost()
- except:
- log.err()
- self.connectionLost(failure.Failure())
- else:
- self.connectionLost(reason)
-
- # IConsumer
- def registerProducer(self, producer, streaming):
- if self._writer is None:
- producer.stopProducing()
- else:
- self._writer.registerProducer(producer, streaming)
-
- def unregisterProducer(self):
- if self._writer is not None:
- self._writer.unregisterProducer()
-
- # IProducer
- def stopProducing(self):
- self.loseConnection()
-
- def pauseProducing(self):
- if self._reader is not None:
- self._reader.pauseProducing()
-
- def resumeProducing(self):
- if self._reader is not None:
- self._reader.resumeProducing()
-
- # Stupid compatibility:
- def closeStdin(self):
- """Compatibility only, don't use. Same as loseWriteConnection."""
- warnings.warn("This function is deprecated, use loseWriteConnection instead.",
- category=DeprecationWarning, stacklevel=2)
- self.loseWriteConnection()
-
- def stopReading(self):
- """Compatibility only, don't use. Call pauseProducing."""
- self.pauseProducing()
-
- def startReading(self):
- """Compatibility only, don't use. Call resumeProducing."""
- self.resumeProducing()