Python twisted.internet.interfaces.IProducer() Examples
The following are 10
code examples of twisted.internet.interfaces.IProducer().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
twisted.internet.interfaces
, or try the search function
.
Example #1
Source File: maildir.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def registerProducer(self, producer, streaming): """ Register a producer and start asking it for data if it is non-streaming. @type producer: L{IProducer <interfaces.IProducer>} @param producer: A producer. @type streaming: L{bool} @param streaming: A flag indicating whether the producer provides a streaming interface. """ self.myproducer = producer self.streaming = streaming if not streaming: self.prodProducer()
Example #2
Source File: http.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def registerProducer(self, producer, streaming): """ Register to receive data from a producer. This sets self to be a consumer for a producer. When this object runs out of data (as when a send(2) call on a socket succeeds in moving the last data from a userspace buffer into a kernelspace buffer), it will ask the producer to resumeProducing(). For L{IPullProducer} providers, C{resumeProducing} will be called once each time data is required. For L{IPushProducer} providers, C{pauseProducing} will be called whenever the write buffer fills up and C{resumeProducing} will only be called when it empties. @type producer: L{IProducer} provider @param producer: The L{IProducer} that will be producing data. @type streaming: L{bool} @param streaming: C{True} if C{producer} provides L{IPushProducer}, C{False} if C{producer} provides L{IPullProducer}. @raise RuntimeError: If a producer is already registered. @return: L{None} """ if self._requestProducer is not None: raise RuntimeError( "Cannot register producer %s, because producer %s was never " "unregistered." % (producer, self._requestProducer)) if not streaming: producer = _PullToPush(producer, self) self._requestProducer = producer self._requestProducerStreaming = streaming if not streaming: producer.startStreaming()
Example #3
Source File: test_basic.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def test_interface(self): """ L{basic.FileSender} implements the L{IPullProducer} interface. """ sender = basic.FileSender() self.assertTrue(verifyObject(IProducer, sender))
Example #4
Source File: websocket.py From autopush with Mozilla Public License 2.0 | 5 votes |
def pauseProducing(self): """IProducer implementation tracking if we should pause output""" self._paused = True
Example #5
Source File: websocket.py From autopush with Mozilla Public License 2.0 | 5 votes |
def resumeProducing(self): """IProducer implementation tracking when we should resume output""" self._paused = False
Example #6
Source File: websocket.py From autopush with Mozilla Public License 2.0 | 5 votes |
def stopProducing(self): """IProducer implementation tracking when we should stop""" self._paused = True self._should_stop = True
Example #7
Source File: http.py From learn_python3_spider with MIT License | 5 votes |
def registerProducer(self, producer, streaming): """ Register to receive data from a producer. This sets self to be a consumer for a producer. When this object runs out of data (as when a send(2) call on a socket succeeds in moving the last data from a userspace buffer into a kernelspace buffer), it will ask the producer to resumeProducing(). For L{IPullProducer} providers, C{resumeProducing} will be called once each time data is required. For L{IPushProducer} providers, C{pauseProducing} will be called whenever the write buffer fills up and C{resumeProducing} will only be called when it empties. @type producer: L{IProducer} provider @param producer: The L{IProducer} that will be producing data. @type streaming: L{bool} @param streaming: C{True} if C{producer} provides L{IPushProducer}, C{False} if C{producer} provides L{IPullProducer}. @raise RuntimeError: If a producer is already registered. @return: L{None} """ if self._requestProducer is not None: raise RuntimeError( "Cannot register producer %s, because producer %s was never " "unregistered." % (producer, self._requestProducer)) if not streaming: producer = _PullToPush(producer, self) self._requestProducer = producer self._requestProducerStreaming = streaming if not streaming: producer.startStreaming()
Example #8
Source File: test_basic.py From learn_python3_spider with MIT License | 5 votes |
def test_interface(self): """ L{basic.FileSender} implements the L{IPullProducer} interface. """ sender = basic.FileSender() self.assertTrue(verifyObject(IProducer, sender))
Example #9
Source File: RawServer_twisted.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def pause_reading(self): # interfaces are the stupedist crap ever if (hasattr(interfaces.IProducer, "providedBy") and not interfaces.IProducer.providedBy(self.transport)): print "No producer", self.ip, self.port, self.transport return # not explicitly needed, but iocpreactor has a bug where the author is a moron if self.paused: return self.transport.pauseProducing() self.paused = True
Example #10
Source File: RawServer_twisted.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def resume_reading(self): if (hasattr(interfaces.IProducer, "providedBy") and not interfaces.IProducer.providedBy(self.transport)): print "No producer", self.ip, self.port, self.transport return # not explicitly needed, but iocpreactor has a bug where the author is a moron if not self.paused: return self.paused = False try: self.transport.resumeProducing() except Exception, e: # I bet these are harmless print "resumeProducing error", type(e), e