Reactor events help request ..

"Watson, David" <[email protected]>
Newsgroups gmane.comp.python.twisted.web
Message-ID <58BD0469C48A7443A479A13D101685E303EA8F05@ala-mail09.corp.ad.wrs.com>
 
Hi Folks ..
 
I'm not entirely a newbie a python and twisted, but I have come to the
point where I need a bit more expertise on this topic, so I am hoping
that I have come to the right place .. 
 
What  I'm hoping, that  you folks can help out with a minor problem that
I am having with the twistd reactor class and/or the callLater function
  
I have been using a reactor.callLater function to schedule an event that
happens in the reactor to send out a heartbeat type message at regular
intervals .. This works great !
 
However, it appears to me that the self.sendLine(msg)  and or the
self.transport.write(msg) writing  functions are blocked functions
waiting for a reactor event to occur at a future scheduled time before
acutally flushing out the internal write buffers ..  
 
I am currently using the twistd protocol factory to create a custom
protocol to communicate between a server and client,  which up until now
has not been a real concern, but I am trying to improve the preformance
and turn around time between the client and server and this blocking
operation is a major source of  unneeded delay .. 
 
My problem is that I have scheduled heartbeat events that I want to send
to the server .. as well as  the  non scheduled events that I want to go
to the server imediately .. 
 
I have been scouring the various python/twistd  document sites, but to
no avial,  on all of the sites that I have seen, the method used have
all done the same thing ,  by re-scheduling something into the future
with a reactor.callLater () function, which causes a delayed write to
occur .. not a problem for something that is 1 or 2 second s in the
furture, but it is a serious problem when the next event is 120 seconds
away .. 
 
I have tried using a self.transport.write(msg) function, but the actual
communication still seems to be buffered and stuck waiting for the
scheduled reactor event .. 
 
What I think I need is something similar to  self.transport.flush()
which would flush out the write buffers on demand, but does not seen to
exist ..
 
I am hoping that someone has faced the same/similar stituation and give
me some guidance and/or to point me in the correct direction .. 
 
Thanks for any help you can offer ..
 
Cheers
 
Dave Watson

_______________________________________________
Twisted-web mailing list
[email protected]
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.