Another thing is that multicast support for dgram sockets is - at
least for now - disabled. I'd like to know how many people actually
use that and for what (the what is optional, just genuinely curious).
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to nod...@googlegroups.com
> To unsubscribe from this group, send email to
> nodejs+un...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
Is this a permanent removal or will it be reintroduced after 0.6?
-- Elijah
Just my $0.02,
--Josh
*UNIX* dgrams, not UDP dgrams. I just spent the last week slaving over
UDP support in libuv.
webOS developers are using datagrams for UDP both to and from
services. We're not dead, and I'd hate to see that removed from the
platform.
I would also like to see this. I think it's an approach that jibes
well with Node's philosophies regarding "core vs. userspace" and
whatnot.
--Josh
I was planning on writing an implementation of Resilient Streaming Protocol, but it's UDP-multicast, not UNIX-domain.
----
Aria Stewart
Cluster uses unix datagram sockets: https://github.com/LearnBoost/cluster/
See https://github.com/LearnBoost/cluster/blob/master/lib/master.js#L129
- Ryan
Ah, thanks for the clarification. Unix domain datagrams aren't being
used. Nevermind.
Yes, that's correct. unix_dgram is out, udp4 and udp6 are in.
Broadcast and multicast support is missing at the moment but we'll add
those.
Use UDP sockets or streaming UNIX sockets.
I've taken a peek at cluster's source. The sockets are used for a
JSON-RPC like protocol. It doesn't seem like they need unix_dgram as
such (please correct me if I'm wrong).
--
Sure: hard to get right cross-platform and almost no one uses it. We
have limited developer resources so spending a man week on something
that has only a handful of users didn't seem worthwhile, there are
bigger fish to fry.
--
--
As Issac pointed out, Cluster uses it, and it is fairly popular.
Subbu
- Unix domain sockets are a very important feature and we will
continue to support it forever
- UDP is a very important feature and we will continue to support it forever
What we're removing support for is socket(AF_UNIX, SOCK_DGRAM, 0). It
is almost certain that no one is using this. We want to remove it
because the equivalent does not exist on windows and it's a strange
functionality.
Unrelated to the AF_UNIX SOCK_DGRAM discussion, we're likely to be
changing our API for sharing file descriptors across processes which
will probably require cluster (and similar modules) to be rewritten
totally. A discussion about that can be moved to the node-dev list.
Dave
-=-=- da...@nexttolast.com -=-=-
On Aug 23, 2011, at 9:23 PM, Bert Belder <bertb...@gmail.com> wrote:
> Hey all,
>
> The node core team wants to drop node's support for unix datagram
> sockets in v0.6. We think nobody is using it anyway.
> But we might be wrong. If you *are* using this functionality, speak up
> now or forever hold your peace.
>
> - Bert
>
Why not just loopback/socket file? Usually they don't even go down the
network stack.
---
Diogo R.
I've taken a peek at cluster's source. The sockets are used for a
JSON-RPC like protocol. It doesn't seem like they need unix_dgram as
such (please correct me if I'm wrong).
You're using unix datagram sockets for mDNS discovery?
We don't specify the language, we don't build the VM, and we don't go too far up the stack building a huge stdlib.
0.6 is adding another dimension, node.js doesn't do Unix (or Windows) specific APIs. Those go in to userland modules now.
It makes sense to me. If we want Windows support to be sustainable node should not make an effort to support features that don't appear in both Unix and Windows.
Of course, userland modules are free to provide APIs for all kinds of OS specific features.
-Mikeal
This is true. On the other hand, we ain't Twisted either (which, for
example, has irc-specific code in its core). It's okay for
functionality to live entirely in userspace, really! ;)
Matt said:
> My argument though is that I don't see a way currently to implement this in userland unless you provide a way to say "Give me all events on this FD" in your C++ API.
This is a good point. How hard would it be to implement unix datagram
sockets in userspace? Is it doable?
Matt said:
> If it's implementable in userland with the current API (i.e. if I'm wrong about the above) then I say scrap it. People who want unix-only features can write those as external libraries.
I think "scrap it" is dangerous here, since I think the node core devs
should be open to the idea of moving such code into external libraries
instead of just killing it.
Speaking of: Would anybody here that currently uses unix datagram
sockets be interested in maintaining such a project? I mean, if nobody
uses them then the answer is obviously "no," but it sounds like some
people might be.
--Josh
On 08/24/2011 05:41 AM, Ben Noordhuis wrote:
On Wed, Aug 24, 2011 at 11:22, Jeroen Janssen<jeroen.janssen@gmail.com> wrote:
just to clarify.. does this mean that from theYes, that's correct. unix_dgram is out, udp4 and udp6 are in.
http://nodejs.org/docs/v0.4.11/api/dgram.html#dgram.createSocket only
'unix_dgram' will be removed?
(i.e. the rest: udp4 and udp6 will keep on existing?)
Broadcast and multicast support is missing at the moment but we'll add
those.
My only requirement/request is to be able to implement mDNS advertisement and discovery without having to resort to a C++ addon. If I understand correctly, the dgram unix stuff is unrelated, but we are still missing the broadcast and multicast parts needed.
Matt said:> My argument though is that I don't see a way currently to implement this in userland unless you provide a way to say "Give me all events on this FD" in your C++ API.This is a good point. How hard would it be to implement unix datagram
sockets in userspace? Is it doable?
> If it's implementable in userland with the current API (i.e. if I'm wrong about the above) then I say scrap it. People who want unix-only features can write those as external libraries.I think "scrap it" is dangerous here, since I think the node core devs
should be open to the idea of moving such code into external libraries
instead of just killing it.
Well that settles that, then. :)
--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
If there's demand, I'll post a module that provides API-compatible
unix_dgram support.
I find it hard to believe that loopback UDP performs significantly
worse or less reliable than UNIX sockets - I know those parts of the
linux and freebsd source well. Show me numbers.