Uh oh!
There was an error while loading. Please reload this page.
Cleanup stream state in net - #465
Conversation
piscisaureus
commented
Jan 16, 2015
Can you assess the semver impact of these patches? Do you think it's all okay to do in a patch release (no api changes) ? |
chrisdickinson
commented
Jan 16, 2015
@piscisaureus I'm going to pull some npm packages today and run tests. It passes |
Qard
commented
Feb 2, 2015
Is this blocked on anything? |
chrisdickinson
commented
Feb 2, 2015
Not at present. I'd like to bring it in for the minor release this week if possible. |
There was a problem hiding this comment.
Hm... This was a bug fix, as far as I remember. Why doesn't it apply anymore?
indutny
commented
Feb 3, 2015
Some nits, otherwise LGTM. Though, I'd like to have one more LGTM from the @piscisaureus or @bnoordhuis or @isaacs |
Fishrock123
commented
Feb 3, 2015
Edit: looked at commits, may not be necessary? |
rvagg
commented
Feb 3, 2015
@Fishrock123 I wouldn't mind giving you access to CI so you can be more proactive since you're one of the most attentive to the repo. Let me know if you're interested and I'll send you details via email. |
cjihrig
commented
Feb 3, 2015
@rvagg I would like access to the CI please. |
rvagg
commented
Feb 3, 2015
@cjihrig of course! will get you set up and email. |
Fishrock123
commented
Feb 3, 2015
@rvagg sure. (just let me know what I should look for to run it on, I guess haha) |
There was a problem hiding this comment.
Hm... doesn't look like it belong here.
brendanashworth
commented
Mar 8, 2015
Looks like this pull request could use a rebase before it is merged @chrisdickinson. Besides that, is there anything holding this back from being merged? |
Fishrock123
commented
Mar 24, 2015
ping @chrisdickinson |
Qard
commented
Apr 10, 2015
FYI: Seems to have one trivial merge conflict due to a change of Also, one test is failing for me: I haven't looked any closer than that. |
jbergstroem
commented
Apr 16, 2015
@chrisdickinson just following up here. Could you rebase so we can revisit? |
chrisdickinson
commented
Jun 26, 2015
Closing this because it feels a bit dicey. If someone else is interested in taking up the cause, feel free! |
part of #445
This set of patches removes much of the private state manipulation
net.Socketwas doing:this._writableState.decodeStrings = falsein favor of always settingoptions.decodeStrings = falsebeforestream.Duplex.call(this, options).this._readableState.flowing = false, callthis.pause(). Since we have not returned from object instantiation, there should be no side effects.onSocketFinishwe are already not readable – whether that's because we started asreadable = falseor because we're in the dead zone betweenended = trueandreadable = false. What this means in practice is that sockets that would have been destroyed here will instead be destroyed byonSocketEnd(as thatnextTick'd function completes.)errorEmittedattribute was only made available for the purposes ofnet.Socket(andtls.TLSSocket), and even then only for errors that they can intercept themselves. I moved that attribute down to those child classes, because there's no need within Writable to track that information (basically trying to localize the illicit information spillage).R=@rvagg, @isaacs, or @bnoordhuis ?