[Twisted-Python] transport.write clarification

George Schlossnagle george at omniti.com
Sat Jul 31 15:55:15 EDT 2004


Hello,

I'm working on porting the mod_pubsub system to use the twisted 
framework.  So far things are great, but I have one point of 
clarificaction.  With all the standard reactors, how are writes handled 
in a non-blocking manner?  Copying from some of the sample protocols, I 
have a dataReceived method in my Protocol implementation that looks 
vaguely like this:

def dataReceived(self, data):
   self.inbuf += data
   if self.canReply() == true:
     self.transport.write(self.response)

My question is: does write() make a non-blocking write, and if so does 
it reschedule itself later on automatically?  Does it block?  What is 
the preferred way of handling this?

Thanks,

George





More information about the Twisted-Python mailing list