Hi, I tried to use this suggestion but I could not make it work.
here is the test I am using in my application class def callSend(self, msg): plugin.send(msg) Now in plugin class def send(self, msg): print 'before call' threads.blockingCallFromThread(reactor, remotesend, msg) print 'after call' def handleError(self, error): error.raiseException() def remotesend(self, msg): deferred = defer.Deferred() reactor.connectTCP('localhost',9999,myfactory) deffered.addErrback(self.handleError) return deffered now myfactory class .. clientConnectionFailed def clientConnectionFailed(self, connector, reason): reason.raiseException() now the problem is, code has become synchronous as code is waiting after threads.blockingCallFromThread, how to fire the defer returned from 'remotesend'. Do i need to fire it or twisted will take care of it. I think I can't refer this deferred object since it is being passed to threads.blockingCallFromThread function on which I have no control. any suggestions --- On Wed, 3/4/09, twisted-python-requ...@twistedmatrix.com <twisted-python-requ...@twistedmatrix.com> wrote: From: twisted-python-requ...@twistedmatrix.com <twisted-python-requ...@twistedmatrix.com> Subject: Twisted-Python Digest, Vol 60, Issue 6 To: twisted-python@twistedmatrix.com Date: Wednesday, March 4, 2009, 11:00 AM Send Twisted-Python mailing list submissions to twisted-python@twistedmatrix.com To subscribe or unsubscribe via the World Wide Web, visit http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python or, via email, send a message with subject or body 'help' to twisted-python-requ...@twistedmatrix.com You can reach the person managing the list at twisted-python-ow...@twistedmatrix.com When replying, please edit your Subject line so it is more specific than "Re: Contents of Twisted-Python digest..." Today's Topics: 1. Re: how to pass on the connection failed or connection lost error (Jean-Paul Calderone) ---------------------------------------------------------------------- Message: 1 Date: Wed, 4 Mar 2009 09:59:42 -0500 From: Jean-Paul Calderone <exar...@divmod.com> Subject: Re: [Twisted-Python] how to pass on the connection failed or connection lost error To: twisted-python@twistedmatrix.com Message-ID: <20090304145942.12853.42253504.divmod.quotient.17...@henry.divmod.com> Content-Type: text/plain; format=flowed On Wed, 4 Mar 2009 06:39:59 -0800 (PST), khawar hasham <hasham_james_...@yahoo.com> wrote: >Hi > >let me first explain the application that I am developing. I have an application that will use the twisted part as a plugin. this twisted part will act as server and as client both. >my application call the plugin method to send data to server module using connectTCP. now the problem is I can not pass on the connection failed exception to my calling application. Since you're running the reactor in one thread and the rest of your application in another thread, your question is basically one of message passing. You've already found reactor.callFromThread which is good; I think you just want the slightly more featureful version, available in twisted.internet.threads, blockingCallFromThread. This is implemented in terms of callFromThread, but additionally allows the caller to get the result of the function being called - including waiting on a Deferred if the function being called returns one. If you switch to this, then you only need to make Plugin.clientsend return a Deferred which eventually fires with a result or a Failure. Jean-Paul ------------------------------ _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python End of Twisted-Python Digest, Vol 60, Issue 6 *********************************************
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python