Re: [libuv] IPv6 multicast

Showing 1-3 of 3 messages
Re: [libuv] IPv6 multicast Ben Noordhuis 1/21/13 12:16 AM
On Sun, Jan 20, 2013 at 6:31 AM, Josh Erickson <josh.s...@gmail.com> wrote:
> I've been poking and playing with around node and tried doing some IPv6
> multicasting, but it fails with an ENOSYS. So i decided to do something
> about it.
>
> Since this is a hack and paste (partly as I've had a baby in my arm much of
> the day), as well as an exercise to teach myself more about low level
> programming and things like gyp, ant feed back is much appreciated,
>
> One of the things I'm not sure about is if the creating
> uv_udp_set_membership6 is a good idea. Much more so the decision to
> magically upgrade calls to uv_udp_set_membership if ipv6 is being used, Most
> of my reasoning is that to have one, requires a lot of variables that aren't
> used epending on th ip version. Doing it this way, I think it saves tiny
> amounts of memory (feel free to correct this if I'm wrong), but magically
> upgrades existing code.
>
> https://github.com/snoj/libuv/commit/af5ff21e13a89f65ba3a45a8433eed37d6b250f4
>
> The test test-udp-multicast-join6.c is basically test-udp-multicast-join.c,
> but aimed at ipv6 instead. On this Windows 8 laptop, the test passes,
>
> Thank you!

Hi, Josh.  If you want to get your changes reviewed, can you submit
them as a pull request?

One thing I noticed is that it's only implemented on Windows
(uncommon, usually it's the other way around).  It should at the very
least have Unix stubs that set UV_ENOSYS.

Another thing is that it may conflict with [1] ("pass structs by
address, not value").  That's not a blocker in itself, we can fix up
and consolidate the multicast API afterwards, but perhaps something to
keep in mind.

[1] https://github.com/joyent/libuv/issues/684
Re: [libuv] IPv6 multicast Josh Erickson 1/21/13 11:33 AM
Thanks Ben.

I was thinking since I was expanding the API like this it would be better to discuss in the mailing list first. 

It is kind of weird I know. Since that is usually the case that Linux gets the fun features first and because my personal laptop wasn't handy this last weekend, I decided to give Windows the chance to have something first. 


On Monday, January 21, 2013 2:16:37 AM UTC-6, Ben Noordhuis wrote:

Hi, Josh.  If you want to get your changes reviewed, can you submit
them as a pull request?

One thing I noticed is that it's only implemented on Windows
(uncommon, usually it's the other way around).  It should at the very
least have Unix stubs that set UV_ENOSYS.

Another thing is that it may conflict with [1] ("pass structs by
address, not value").  That's not a blocker in itself, we can fix up
and consolidate the multicast API afterwards, but perhaps something to
keep in mind.

[1] https://github.com/joyent/libuv/issues/684
Re: [libuv] IPv6 multicast Andrius Bentkus 1/24/13 6:54 AM
Another thing is that it may conflict with [1] ("pass structs by 
address, not value").  That's not a blocker in itself, we can fix up
and consolidate the multicast API afterwards, but perhaps something to
keep in mind.

We certainly can do that afterwards.