twisted.protocols.ftp.DTP(protocol.Protocol, object)
class documentationtwisted.protocols.ftp
(View In Hierarchy)
Implements interfaces: twisted.internet.interfaces.IConsumer
Method | connectionMade | Called when a connection is made. |
Method | connectionLost | Called when the connection is shut down. |
Method | sendLine | Send a line to data channel. |
Method | sendListResponse | Undocumented |
Method | registerProducer | Register to receive data from a producer. |
Method | unregisterProducer | Stop consuming data from a producer, without disconnecting. |
Method | write | The producer will write data by calling this method. |
Method | dataReceived | Called whenever data is received. |
Method | registerConsumer | Undocumented |
Method | resumeProducing | Undocumented |
Method | pauseProducing | Undocumented |
Method | stopProducing | Undocumented |
Method | _formatOneListResponse | Helper method to format one entry's info into a text entry like: 'drwxrwxrwx 0 user group 0 Jan 01 1970 filename.txt' |
Method | _conswrite | Undocumented |
Method | _unregConsumer | Undocumented |
Inherited from Protocol:
Method | logPrefix | Return a prefix matching the class name, to identify log messages related to this protocol instance. |
Inherited from BaseProtocol (via Protocol):
Method | makeConnection | Make a connection to a transport and a server. |
Called when a connection is made.
This may be considered the initializer of the protocol, because it is called when the connection is completed. For clients, this is called once the connection to the server has been established; for servers, this is called after an accept() call stops blocking and a socket has been received. If you need to send any greeting or initial message, do it here.
Called when the connection is shut down.
Clear any circular references here, and any external references to this Protocol. The connection has been closed.
Send a line to data channel.
Parameters | line | The line to be sent. (type: bytes ) |
Helper method to format one entry's info into a text entry like: 'drwxrwxrwx 0 user group 0 Jan 01 1970 filename.txt'
Parameters | name | bytes name of the entry (file or directory or link) |
size | int size of the entry | |
directory | evals to bool - whether the entry is a directory | |
permissions | twisted.python.filepath.Permissions
object representing that entry's permissions | |
hardlinks | int number of hardlinks | |
modified | float - entry's last modified time in seconds since the epoch | |
owner | str username of the owner | |
group | str group name of the owner | |
Returns | str in the requisite format |
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 | streaming | True if producer provides IPushProducer ,
False if producer provides IPullProducer . (type: bool ) |
Returns | None | |
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.
Called whenever data is received.
Use this method to translate to a higher-level message. Usually, some callback will be made upon the receipt of each complete protocol message.
Parameters | data | a string of indeterminate length. Please keep in mind that you will probably need to buffer some data, as partial (or multiple) protocol messages may be received! I recommend that unit tests for protocols call through to this method with differing chunk sizes, down to one byte at a time. |