-
Notifications
You must be signed in to change notification settings - Fork 29.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dgram: implicit binds should be exclusive #325
dgram: implicit binds should be exclusive #325
Conversation
Server sockets should be shared by default, and client sockets should be exclusive by default. For net/TCP, this is how it is, for dgram/UDP, its a little less clear what a client socket is, but a socket that is auto-bound during a dgram.send() is not usefully shared among cluster workers, any more than an outgoing TCP connection would be usefully shared. Since implicit binds become exclusive, implicit/client dgram sockets can now be used with cluster on Windows. Before, neither explicit nor implicitly bound sockets could be used, causing dgram to be completely unsupported with cluster on Windows. After this change, they become half supported. PR-URL: nodejs/node-v0.x-archive#8643 Reviewed-by: Bert Belder <[email protected]>
Note that since I cherry-picked a32b92d, it has some of Bert's annotations in it, I wasn't sure if I should strip them or leave them, so I left them. |
LGTM but I would like to keep this open until the next release. |
@bnoordhuis @piscisaureus I've only watched half the iojs TC meetings, has there been discussion of how PRs that effect the minor will be handled that you can point me to? I assume since this is a new feature, it should be labelled What is the plan for features, to prevent iojs becoming like node 0.10, where no new features were released for 1.5+ years and counting? |
There's a discussion scheduled for tomorrow's TC on some of the issues around this. I think the simple answer for now is that we shouldn't be afraid of server, Node.js has made us sensitive to bumping minor version (coming up 2 years on 0.10) but we need to shake that. However, it would probably be most optimal to group minor changes, perhaps under a v1.1 branch but not delay that too much. |
I was going to treat this as a bug fix but now that you mention it, I'll bring it up at the TC meeting tomorrow whether this PR constitutes a patch or a minor version bump.
I was going to comment on this but @rvagg beat me to it, see above. |
OK. I'm listening to the TC Meeting 2014-12-17 meeting now, and I see its under discussion, I might listen to tomorrows meeting live. Fwiw, I'm fine with batching up I'm not particularly concerned about this small thing, but in general, not knowing when a feature is going to be released discourages adding new features. This is particularly true for non-backwards compatible changes, I've a set I'd like to implement, but its hard to know if its worth the effort, will there be willingness for a major version bump in the next 3 months? 6 months? Year? |
There's no appetite here for delay, everyone just one wants to use semver to signal and just get on with it. I imagine 1.1.0 to be relatively close. |
this was tagged with tc-agenda but I'm not sure we properly covered it, @bnoordhuis your call as to whether the tag is removed or left for next meeting bundled with further versioning discussion |
I think the intention was to discuss the versioning implications in TC, not the change itself. Versioning was discussed, yeah for the |
#625 being merged has forced us to a semver-minor situation so this could probably be merged now so it makes it in to 1.1.0 |
Server sockets should be shared by default, and client sockets should be exclusive by default. For net/TCP, this is how it is, for dgram/UDP, its a little less clear what a client socket is, but a socket that is auto-bound during a dgram.send() is not usefully shared among cluster workers, any more than an outgoing TCP connection would be usefully shared. Since implicit binds become exclusive, implicit/client dgram sockets can now be used with cluster on Windows. Before, neither explicit nor implicitly bound sockets could be used, causing dgram to be completely unsupported with cluster on Windows. After this change, they become half supported. PR: #325 PR: nodejs/node-v0.x-archive#8643 Reviewed-by: Ben Noordhuis <[email protected]> Reviewed-by: Bert Belder <[email protected]>
Thanks, landed in 65b1e4f |
(re)-PR of fix for #279
Passes
make test
.Server sockets should be shared by default, and client sockets should be
exclusive by default. For net/TCP, this is how it is, for dgram/UDP, its
a little less clear what a client socket is, but a socket that is
auto-bound during a dgram.send() is not usefully shared among cluster
workers, any more than an outgoing TCP connection would be usefully
shared.
Since implicit binds become exclusive, implicit/client dgram sockets can
now be used with cluster on Windows. Before, neither explicit nor
implicitly bound sockets could be used, causing dgram to be completely
unsupported with cluster on Windows. After this change, they become half
supported.
PR-URL: nodejs/node-v0.x-archive#8643
Reviewed-by: Bert Belder [email protected]