* move CHECK statements into DEBUG checks
* improve performance by removing branches
* Several if checks were left in while the code was being developed.
Now that the core API has stablized more, the checks are largely
unnecessary and can be removed, yielding a significant boost in
performance.
* refactor flow control for proper backpressure
* use std::queue for inbound headers
* use std::queue for outbound data
* remove now unnecessary FreeHeaders function
* expand comments and miscellaneous edits
* add a couple of misbehaving flow control tests
PR-URL: https://github.com/nodejs/node/pull/16239
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
|
||
|---|---|---|
| .. | ||
| cluster | ||
| http2 | ||
| loader | ||
| process | ||
| streams | ||
| test | ||
| util | ||
| bootstrap_node.js | ||
| buffer.js | ||
| child_process.js | ||
| encoding.js | ||
| errors.js | ||
| freelist.js | ||
| fs.js | ||
| http.js | ||
| inspector_async_hook.js | ||
| linkedlist.js | ||
| module.js | ||
| net.js | ||
| os.js | ||
| process.js | ||
| querystring.js | ||
| readline.js | ||
| readme.md | ||
| repl.js | ||
| safe_globals.js | ||
| socket_list.js | ||
| url.js | ||
| util.js | ||
| v8_prof_polyfill.js | ||
| v8_prof_processor.js | ||
Internal Modules
The modules in lib/internal are intended for internal use in Node.js core
only, and are not accessible with require() from user modules. These are
subject to change at any time. Reliance on these modules outside of core
is not supported in any way.