On Mon, 2004-09-06 at 18:19, Dirk Meyer wrote: > Hi, > > some already know because I told it on IRC, but here the official > "request for discussion": > > I don't like twisted. Why? It's a huge monster, including not only > stuff we need like xmlrpc and a web server but also stuff we don't > need and a main loop that is too complex. I saw in the code that it > waits for dead children not started by any part of twisted .. Hey, > that are my children, don't touch them! The next problem is, that we > have one xmlrpc server in the recordserver. But when the schedule > changes, Freevo has to ask the recordserver for a new schedule, the > recordserver can't send it to Freevo because a) freevo has no xmlrpc > port and b) if you have more than one freevo, how should the server > know that? And we need a way to send stuff to Freevo, like the > webserver may want to say 'start this audio playlist please'.
> A solution to all this (and more): we use pymbus. Mbus is a protcol > for host or link local communication. As the name says, it's a bus. So > every programm on the bus can get the messages (you can also send a > message directly). For detailed information, please look at > http://www.mbus.org. A brief summary: > > o mbus is secure, it uses encryption on the bus. > o mbus is plain ascii (after decrypted), so every app with the key can > read it very easy and apps like mspy can be used for debugging and > apps like mbussh can be used to send commands to an app > o you get notice when an app joins / leaves the bus > o you can define names for apps so you understand what they do > o you have events _and_ client server rpc communiaction. > o Bindings for C/C++/Perl/Python Very good, and after reading some more about mbus i found out the communication protocol is highly optimized for small messages, they have made a huge effort to decrease the encryptation overhead. In my opinion most of the messages passing between freevo and helpers are very small (commands in fact) so, its a good protocol framework for freevo. <snip> > And we can also remove the bad hacked network interface, you can send > events directly to Freevo: > app->Freevo: Button 'DISPLAY' is pressed > or > app->Freevo: Event(OSD_MESSAGE, arg='hi') Erms.. not so sure about this.. do you really want to introduce the communication overhead for this kind of events? Mbus sounds great to communicate with external helper, but it seems a little bit inefficient to spread all kind of events to OSD or from critical helpers such as mplayer. But i don't know, some benchmarking should speak for itself. > > That's what mbus can do, and much more. Read the rfc on mbus if you > want to know more. The second lib pynotifier is a simple (!) main > loop. The author of pynotifier and the current maintainer of pymbus > (also using Freevo) also has a simple webserver and non blocking http > client. Seems a good base to start rewriting the webserver. > Dischi > Bruno ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click _______________________________________________ Freevo-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freevo-devel