Skip to content

http2: add Http2Stream.bufferSize #23711

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
wants to merge 2 commits into from

Conversation

oyyd
Copy link
Contributor

@oyyd oyyd commented Oct 17, 2018

This commit adds bufferSize for Http2Stream.

Refs: #21631

/cc @jasnell @addaleax @apapirovski

From the code, I believe the writeQueueSize in http2 module could represent the kLastWriteQueueSize in net module:

node/lib/net.js

Line 518 in deaddd2

return this[kLastWriteQueueSize] + this.writableLength;

and the tests following this PR seems okay. Can you help to confirm that?

BTW, we can add Http2Session.bufferSize basing on this which is what #21631 exactly requested.

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • documentation is changed or added
  • commit message follows commit guidelines

@nodejs-github-bot nodejs-github-bot added dont-land-on-v6.x http2 Issues or PRs related to the http2 subsystem. labels Oct 17, 2018
This commit adds `bufferSize` for `Http2Stream`.

Refs: nodejs#21631
@oyyd oyyd force-pushed the http2-stream-buffersize branch from f2264e6 to d7d9307 Compare October 17, 2018 12:39
get bufferSize() {
// `bufferSize` properties of `net.Socket` are `undefined` when
// their `_handle` are falsy. Here we avoid the behavior.
return this[kState].writeQueueSize + this.writableLength;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At best this is likely an approximation with a high degree of accuracy at any given time. It's likely good enough :-)

What do you think @addaleax?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’d guess it’s good enough, yes :)

@jasnell jasnell added the semver-minor PRs that contain new features and should be released in the next minor version. label Oct 17, 2018
doc/api/http2.md Outdated
@@ -1012,6 +1012,15 @@ added: v8.4.0
Set to `true` if the `Http2Stream` instance was aborted abnormally. When set,
the `'aborted'` event will have been emitted.

### http2stream.bufferSize
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit:

Suggested change
### http2stream.bufferSize
#### http2stream.bufferSize

doc/api/http2.md Outdated
@@ -3418,6 +3427,7 @@ following additional properties:
[`net.Socket.prototype.ref()`]: net.html#net_socket_ref
[`net.Socket.prototype.unref()`]: net.html#net_socket_unref
[`net.connect()`]: net.html#net_net_connect
[`net.Socket.bufferSize`]: net.html#net_socket_buffersize
Copy link
Contributor

@vsemozhetbyt vsemozhetbyt Oct 17, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: should go after [`net.Socket`]: net.html#net_class_net_socket (in ASCII sort order).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Done.

@BridgeAR
Copy link
Member

@oyyd
Copy link
Contributor Author

oyyd commented Oct 20, 2018

The test, parallel/test-tls-alert-handling, failed seems unrelated.

@lundibundi
Copy link
Member

lundibundi commented Oct 20, 2018

Trott pushed a commit to Trott/io.js that referenced this pull request Nov 6, 2018
This commit adds `bufferSize` for `Http2Stream`.

Refs: nodejs#21631

PR-URL: nodejs#23711
Reviewed-By: James M Snell <jasnell@gmail.com>
@Trott
Copy link
Member

Trott commented Nov 6, 2018

Landed in 33fbb93

@Trott Trott closed this Nov 6, 2018
targos pushed a commit that referenced this pull request Nov 6, 2018
This commit adds `bufferSize` for `Http2Stream`.

Refs: #21631

PR-URL: #23711
Reviewed-By: James M Snell <jasnell@gmail.com>
BethGriggs pushed a commit that referenced this pull request Apr 8, 2019
This commit adds `bufferSize` for `Http2Stream`.

Refs: #21631

PR-URL: #23711
Reviewed-By: James M Snell <jasnell@gmail.com>
@BethGriggs BethGriggs mentioned this pull request May 1, 2019
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
http2 Issues or PRs related to the http2 subsystem. semver-minor PRs that contain new features and should be released in the next minor version.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants