asynchat
index
/usr/lib/python2.1/asynchat.py

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 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 found_terminator() method.

 
Modules
            
asyncore
socket

 
Classes
            
asyncore.dispatcher
async_chat
fifo
simple_producer

 
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()
 
  
__getattr__(self, attr) from asyncore.dispatcher
__init__(self, conn=None)
__repr__(self) from asyncore.dispatcher
accept(self) from asyncore.dispatcher
add_channel(self, map=None) from asyncore.dispatcher
bind(self, addr) from asyncore.dispatcher
close(self) from asyncore.dispatcher
close_when_done(self)
automatically close this channel once the outgoing queue is empty
connect(self, address) from asyncore.dispatcher
create_socket(self, family, type) from asyncore.dispatcher
del_channel(self, map=None) from asyncore.dispatcher
discard_buffers(self)
get_terminator(self)
handle_accept(self) from asyncore.dispatcher
handle_close(self)
handle_connect(self) from asyncore.dispatcher
handle_error(self) from asyncore.dispatcher
handle_expt(self) from asyncore.dispatcher
handle_expt_event(self) from asyncore.dispatcher
handle_read(self)
handle_read_event(self) from asyncore.dispatcher
handle_write(self)
handle_write_event(self) from asyncore.dispatcher
initiate_send(self)
listen(self, num) from asyncore.dispatcher
log(self, message) from asyncore.dispatcher
log_info(self, message, type='info') from asyncore.dispatcher
push(self, data)
push_with_producer(self, producer)
readable(self)
predicate for inclusion in the readable for select()
recv(self, buffer_size) from asyncore.dispatcher
refill_buffer(self)
# refill the outgoing buffer by calling the more() method
# of the first producer in the queue
send(self, data) from asyncore.dispatcher
set_reuse_addr(self) from asyncore.dispatcher
set_socket(self, sock, map=None) from asyncore.dispatcher
set_terminator(self, term)
Set the input delimiter.  Can be a fixed string of any length, an integer, or None
writable(self)
predicate for inclusion in the writable for select()

 
class fifo
       
  
__init__(self, list=None)
__len__(self)
first(self)
is_empty(self)
pop(self)
push(self, data)

 
class simple_producer
       
  
__init__(self, data, buffer_size=512)
more(self)

 
Functions
            
find_prefix_at_end(haystack, needle)

 
Data
             __file__ = '/usr/lib/python2.1/asynchat.pyc'
__name__ = 'asynchat'