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

Reply via email to