[Twisted-Python] Cascading services (passing events through connected services)

Matthieu Brucher matthieu.brucher at gmail.com
Tue May 6 23:46:39 MDT 2008


2008/5/7 <glyph at divmod.com>:

>
> On 09:38 pm, matthieu.brucher at gmail.com wrote:
>
>> I'm currently trying to implement the JXTA standard (http://www.jxta.org)
>> in
>> Python using twisted (because it seems to be the right choice). I've
>> implemented the basic parts that are not network related, that is, not
>> much
>> ;)
>>
>
> Of course it's the right choice.  Twisted is *awesome* ;-).
>
>> network -> TCP transport layer service -> endpoint service -> some other
>> high level services -> endpoint service -> TCP transport layer
>>
>
> You use the word "service" a lot here and I'm not sure I understand it.
> There are, unfortunately, a dozen or so things you could mean by it.


Yes, I know, it is not perfectly clear in my head as well, I have to play
with twisted and JXTA a little more to have a clear picture.


>
>  Is there a sample somewhere that does something like this ? Each time an
>> event is sent to a listener (the TCP transport layer, the endpoint, ...)
>> that acts upon it. I've tried to find some samples over the Internet, but
>> perhaps someone has a pointer to help me ?
>>
>
> Assuming I do understand what all those "service" and "->"s mean in the
> above text, all you need to do is to
>
>  1) have some objects
>  2) keep references between them to other objects
>  3) call methods on the relevant objects when the relevant things happen
>
> Quite often, people somehow arrive at the incorrect conclusion that because
> twisted is event-driven, it has some magic "event" mechanism you have to use
> to get different pieces of code to talk to each other. Quite the opposite;
> the whole point of Twisted is to reduce event-driven programming to just
> regular Python method calls.


That's what I thought reading the tutorial.


> It may help, if you need to relay messages from one connected Protocol
> object to another, that Protocol objects have a reference to their factory,
> and you can easily keep a list of "all connections" on that factory.  This
> is actually two of our FAQs - have a look at this one and the next one:
>
>   http://tinyurl.com/6hpfa7
>

Excallent ! Thanks a lot for this, it will help me a lot !

Matthieu
-- 
French PhD student
Website : http://matthieu-brucher.developpez.com/
Blogs : http://matt.eifelle.com and http://blog.developpez.com/?blog=92
LinkedIn : http://www.linkedin.com/in/matthieubrucher
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20080507/c1137029/attachment.html>


More information about the Twisted-Python mailing list