diff options
Diffstat (limited to 'Lib/asynchat.py')
-rw-r--r-- | Lib/asynchat.py | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/Lib/asynchat.py b/Lib/asynchat.py index e725a2b..8b2f59f 100644 --- a/Lib/asynchat.py +++ b/Lib/asynchat.py @@ -25,28 +25,31 @@ # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # ====================================================================== +"""A class supporting chat-style (command/response) protocols. + +This class adds support for 'chat' style protocols - where one side +sends a 'command', and the other sends a response (examples would be +the common internet protocols - smtp, nntp, ftp, etc..). + +The handle_read() method looks at the input stream for the current +'terminator' (usually '\r\n' for single-line responses, '\r\n.\r\n' +for multi-line output), calling self.found_terminator() on its +receipt. + +for example: +Say you build an async nntp client using this class. At the start +of the connection, you'll have self.terminator set to '\r\n', in +order to process the single-line greeting. Just before issuing a +'LIST' command you'll set it to '\r\n.\r\n'. The output of the LIST +command will be accumulated (using your own 'collect_incoming_data' +method) up to the terminator, and then control will be returned to +you - by calling your self.found_terminator() method. +""" + import socket import asyncore import string -# This class adds support for 'chat' style protocols - where one side -# sends a 'command', and the other sends a response (examples would be -# the common internet protocols - smtp, nntp, ftp, etc..). - -# The handle_read() method looks at the input stream for the current -# 'terminator' (usually '\r\n' for single-line responses, '\r\n.\r\n' -# for multi-line output), calling self.found_terminator() on its -# receipt. - -# for example: -# Say you build an async nntp client using this class. At the start -# of the connection, you'll have self.terminator set to '\r\n', in -# order to process the single-line greeting. Just before issuing a -# 'LIST' command you'll set it to '\r\n.\r\n'. The output of the LIST -# command will be accumulated (using your own 'collect_incoming_data' -# method) up to the terminator, and then control will be returned to -# you - by calling your self.found_terminator() method - class async_chat (asyncore.dispatcher): """This is an abstract class. You must derive from this class, and add the two methods collect_incoming_data() and found_terminator()""" |