Part of twisted.protocols.basic View Source View In Hierarchy
Known subclasses: twisted.conch.scripts.cftp.StdioClient, twisted.conch.telnet.StatefulTelnetProtocol, twisted.mail.imap4.IMAP4Client, twisted.mail.imap4.IMAP4Server, twisted.mail.smtp.SMTPClient, twisted.news.nntp.NNTPClient, twisted.news.nntp.NNTPServer, twisted.protocols.dict.DictClient, twisted.protocols.finger.Finger, twisted.protocols.ftp.FTP, twisted.protocols.ftp.FTPClientBasic, twisted.protocols.ftp.FTPFileListProtocol, twisted.protocols.ftp.FTPOverflowProtocol, twisted.protocols.gps.nmea.NMEAReceiver, twisted.protocols.memcache.MemCacheProtocol, twisted.protocols.postfix.PostfixTCPMapServer, twisted.protocols.sip.MessagesParser, twisted.runner.procmon.LineLogger, twisted.web._newclient.HTTPParser, twisted.web.http.HTTPChannel, twisted.web.http.HTTPClient, twisted.words.protocols.irc.DccChat, twisted.words.protocols.irc.IRCClient, twisted.words.protocols.msn.FileReceive, twisted.words.protocols.msn.FileSend, twisted.words.protocols.msn.MSNEventBase
In line mode, each line that's received becomes a callback to lineReceived
.
In raw data mode, each chunk of raw data becomes a callback to rawDataReceived
.
The setLineMode
and setRawMode
methods switch between the two modes.
This is useful for line-oriented protocols such as IRC, HTTP, POP, etc.
Class Variable | delimiter | The line-ending delimiter to use. By default this is b'\r\n' . |
Class Variable | MAX_LENGTH | The maximum length of a line to allow (If a sent line is longer than this, the connection is dropped). Default is 16384. |
Method | clearLineBuffer | Clear buffered data. |
Method | dataReceived | Protocol.dataReceived. Translates bytes into lines, and calls lineReceived (or rawDataReceived, depending on mode.) |
Method | setLineMode | Sets the line-mode of this receiver. |
Method | setRawMode | Sets the raw mode of this receiver. Further data received will be sent to rawDataReceived rather than lineReceived. |
Method | rawDataReceived | Override this for when raw data is received. |
Method | lineReceived | Override this for when each line is received. |
Method | sendLine | Sends a line to the other end of the connection. |
Method | lineLengthExceeded | Called when the maximum line length has been reached. Override if it needs to be dealt with in some special way. |
Inherited from Protocol:
Method | logPrefix | Return a prefix matching the class name, to identify log messages related to this protocol instance. |
Method | connectionLost | Called when the connection is shut down. |
Inherited from BaseProtocol (via Protocol):
Method | makeConnection | Make a connection to a transport and a server. |
Method | connectionMade | Called when a connection is made. |
Inherited from _PauseableMixin:
Method | pauseProducing | Undocumented |
Method | resumeProducing | Undocumented |
Method | stopProducing | Undocumented |
Returns | All of the cleared buffered data. (type: bytes ) |
If you are calling this from a rawDataReceived callback, you can pass in extra unhandled data, and that data will be parsed for lines. Further data received will be sent to lineReceived rather than rawDataReceived.
Do not pass extra data if calling this function from within a lineReceived callback.
Parameters | line | The line which was received with the delimiter removed. (type: bytes ) |
Parameters | line | The line to send, not including the delimiter. (type: bytes ) |
The argument 'line' contains the remainder of the buffer, starting with (at least some part) of the line which is too long. This may be more than one line, or may be only the initial portion of the line.