[vlc-devel] why netsync unicast?
Ryan Nowakowski
tubaman at fattuba.com
Thu Dec 6 18:59:12 CET 2007
On Thu, Dec 06, 2007 at 07:39:23PM +0200, Rémi Denis-Courmont wrote:
> Le Thursday 06 December 2007 09:39:08 Ryan Nowakowski, vous avez écrit :
> > Is there any reason why netsync uses udp unicast? It seems like a
> > perfect application for multicast! It would scale better that way.
>
> I may be wrong, but I think it could use multicast by simply putting a
> multicast address in the configuration.
>
> Of course, the real problem is that netsync is fairly broken and unmaintained
> at the moment.
Well, the way it's written right now, the master responds to time sync
requests from each client. It looks like:
unicast: client2 -> masterclient: time request packet
unicast: masterclient -> client2: time response packet
unicast: client3 -> masterclient: time request packet
unicast: masterclient -> client3: time response packet
...and so on
Simply using a multicast address in the configuration might work but you
would still have the scalability issue where time sync is O(N) where N
is the number of clients. I propose this:
multicast: client2 joins group
multicast: client3 joins group
multicast: masterclient -> group: time response packet(at some regular interval)
multicast: masterclient -> group: time response packet
multicast: masterclient -> group: time response packet
...and so on
Then netsync can scale at O(1). Maybe this should be a new control
module called multicast-netsync? By the way, what exactly is broken
about netsync at the moment? It works fine for me in 0.8.6.
- Ryan
More information about the vlc-devel
mailing list