[mythtv] new protocol

Anduin Withers awithers at anduin.com
Sat Feb 26 22:37:36 UTC 2005


>       It would seem wise that any new protocol should be
> 	  handled in a new process, and that new process should do a fork
> 	  for all connections so that faults can be isolated (much like
> 	  telnetd, sshd, etc).

Forking the backend would seem unworkable, forking a simple protocol handler
and you've still got to have a bulletproof protocol to talk to the master
backend from the child process.

> 	- There is no backend discovery.  mvpmc acts as a frontend for both
> 	  mythtv and replaytv.  It's too bad that it can discover all the
> 	  replaytv devices on a users network, but has to be told where the
> 	  master mythtv backend is.

The UPnP route would make this possible (this is what those replaytv boxes
are using), I think many of us have disliked the manual "this is your
backend" configuration. I don't want to see that vanish but for many
installations I suspect auto-discovery would be fine/better.

> However, I think that's jumping the gun.  I think you need to understand
> the requirements before you choose a solution.

True, so far no one has said "I'm going to go implement SOAP and you can
just live with it". The first phase certainly is gathering requirements, I
just think someone needs to capture them so we can talk them over sensibly.
At the same time talking about other standard solutions to at least part of
the problem seems constructive. I had poked at UPnP before but never had to
use it, it does seem somewhat designed towards solving a chunk of what even
you want.

What has been discussed so far can be implemented on a resource sparse
system. Yes, a new binary protocol could handle everything, I don't think
anyone is throwing that possibility out, however there might be some
advantage to adopting a standard used outside myth as well.

> I also don't want to have to change mvpmc every time someone decides to
> change the myth protocol.

This is my number one priority requirement, for things that want an exact
protocol match, let them force it, have a protocol with at least a
major/minor version seems like the simplest (handling multiple versions of
the protocol on the backend usually winds up sucking pretty fast).

-- 
Anduin Withers



More information about the mythtv-dev mailing list