class ProtocolToConsumerAdapter(components.Adapter): (source)
Constructor: ProtocolToConsumerAdapter(original)
Implements interfaces: twisted.internet.interfaces.IConsumer
Undocumented
Method | register |
Register to receive data from a producer. |
Method | unregister |
Stop consuming data from a producer, without disconnecting. |
Method | write |
The producer will write data by calling this method. |
Inherited from Adapter
:
Method | __conform__ |
I forward __conform__ to self.original if it has it, otherwise I simply return None. |
Method | __init__ |
Set my 'original' attribute to be the object I am adapting. |
Method | isuper |
Forward isuper to self.original |
Class Variable | multi |
If this adapter is persistent, should it be automatically registered for all appropriate interfaces. |
Class Variable | temporary |
If this is True, the adapter will not be persisted on the Componentized. |
Instance Variable | original |
Undocumented |
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 IPullProducer
providers, resumeProducing will be called once each time data is required.
For IPushProducer
providers, pauseProducing will be called whenever the write buffer fills up and resumeProducing will only be called when it empties. The consumer will only call resumeProducing to balance a previous pauseProducing call; the producer is assumed to start in an un-paused state.
Parameters | |
producer | Undocumented |
streaming | True if producer provides IPushProducer , False if producer provides IPullProducer . |
Raises | |
RuntimeError | If a producer is already registered. |
The producer will write data by calling this method.
The implementation must be non-blocking and perform whatever buffering is necessary. If the producer has provided enough data for now and it is a IPushProducer
, the consumer may call its pauseProducing method.