@encharm/cws 4.4.1 → 4.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.gyp +1 -1
- package/dist/bindings/cws_darwin_arm64_node115.node +0 -0
- package/dist/bindings/cws_darwin_arm64_node127.node +0 -0
- package/dist/bindings/cws_darwin_arm64_node137.node +0 -0
- package/dist/bindings/cws_linux_arm64_node115.node +0 -0
- package/dist/bindings/cws_linux_arm64_node127.node +0 -0
- package/dist/bindings/cws_linux_x64_node115.node +0 -0
- package/dist/bindings/cws_linux_x64_node127.node +0 -0
- package/dist/bindings/cws_linux_x64_node137.node +0 -0
- package/dist/bindings/cws_win32_x64_node108.node +0 -0
- package/dist/bindings/cws_win32_x64_node115.node +0 -0
- package/dist/bindings/cws_win32_x64_node127.node +0 -0
- package/dist/bindings/cws_win32_x64_node83.node +0 -0
- package/dist/bindings/cws_win32_x64_node93.node +0 -0
- package/package.json +1 -1
- package/src/Addon.h +13 -23
- package/src/Socket.h +0 -1
- package/src/headers/22/acorn_version.h +6 -0
- package/src/headers/22/aliased_buffer-inl.h +243 -0
- package/src/headers/22/aliased_buffer.h +206 -0
- package/src/headers/{18 → 22}/async_wrap-inl.h +8 -6
- package/src/headers/{18 → 22}/async_wrap.h +65 -59
- package/src/headers/{18 → 22}/base_object-inl.h +57 -117
- package/src/headers/{18 → 22}/base_object.h +58 -30
- package/src/headers/22/base_object_types.h +74 -0
- package/src/headers/22/blob_serializer_deserializer-inl.h +385 -0
- package/src/headers/22/blob_serializer_deserializer.h +132 -0
- package/src/headers/{16 → 22}/callback_queue.h +1 -0
- package/src/headers/{16 → 22}/cares_wrap.h +27 -20
- package/src/headers/22/cjs_module_lexer_version.h +6 -0
- package/src/headers/22/cleanup_queue-inl.h +62 -0
- package/src/headers/22/cleanup_queue.h +85 -0
- package/src/headers/22/compile_cache.h +104 -0
- package/src/headers/{18 → 22}/crypto/crypto_clienthello.h +1 -1
- package/src/headers/{18 → 22}/crypto/crypto_context.h +31 -7
- package/src/headers/{18 → 22}/crypto/crypto_keys.h +118 -148
- package/src/headers/{18 → 22}/crypto/crypto_tls.h +20 -5
- package/src/headers/{18 → 22}/crypto/crypto_util.h +219 -263
- package/src/headers/22/crypto/ncrypto.h +752 -0
- package/src/headers/{16 → 22}/debug_utils-inl.h +15 -7
- package/src/headers/{18 → 22}/debug_utils.h +25 -19
- package/src/headers/22/encoding_binding.h +59 -0
- package/src/headers/{14 → 22}/env-inl.h +276 -409
- package/src/headers/22/env.h +1266 -0
- package/src/headers/22/env_properties.h +497 -0
- package/src/headers/{18 → 22}/handle_wrap.h +2 -0
- package/src/headers/{18 → 22}/histogram.h +88 -48
- package/src/headers/{16 → 22}/inspector_agent.h +17 -1
- package/src/headers/{16 → 22}/inspector_profiler.h +15 -13
- package/src/headers/22/js_native_api.h +619 -0
- package/src/headers/{18 → 22}/js_native_api_types.h +46 -1
- package/src/headers/22/js_native_api_v8.h +485 -0
- package/src/headers/{18 → 22}/js_native_api_v8_internals.h +6 -0
- package/src/headers/22/json_parser.h +40 -0
- package/src/headers/{16 → 22}/json_utils.h +19 -8
- package/src/headers/{18 → 22}/memory_tracker-inl.h +16 -13
- package/src/headers/{14 → 22}/memory_tracker.h +13 -8
- package/src/headers/{16 → 22}/module_wrap.h +49 -19
- package/src/headers/22/ncrypto/ncrypto.h +752 -0
- package/src/headers/{18 → 22}/node.h +465 -68
- package/src/headers/{18 → 22}/node_api.h +66 -81
- package/src/headers/{18 → 22}/node_api_internals.h +8 -4
- package/src/headers/{18 → 22}/node_api_types.h +5 -0
- package/src/headers/22/node_binding.h +154 -0
- package/src/headers/{18 → 22}/node_blob.h +46 -78
- package/src/headers/{18 → 22}/node_bob-inl.h +1 -2
- package/src/headers/{18 → 22}/node_bob.h +2 -6
- package/src/headers/{18 → 22}/node_buffer.h +1 -1
- package/src/headers/22/node_builtins.h +220 -0
- package/src/headers/{18 → 22}/node_constants.h +3 -5
- package/src/headers/22/node_context_data.h +168 -0
- package/src/headers/22/node_contextify.h +199 -0
- package/src/headers/{16 → 22}/node_crypto.h +1 -2
- package/src/headers/22/node_dotenv.h +45 -0
- package/src/headers/{18 → 22}/node_errors.h +86 -27
- package/src/headers/22/node_exit_code.h +54 -0
- package/src/headers/22/node_external_reference.h +249 -0
- package/src/headers/{18 → 22}/node_file-inl.h +127 -30
- package/src/headers/{16 → 22}/node_file.h +122 -11
- package/src/headers/{18 → 22}/node_http2.h +28 -11
- package/src/headers/{16 → 22}/node_http2_state.h +34 -25
- package/src/headers/{18 → 22}/node_http_common-inl.h +2 -1
- package/src/headers/{18 → 22}/node_http_common.h +56 -55
- package/src/headers/{16 → 22}/node_i18n.h +5 -18
- package/src/headers/{18 → 22}/node_internals.h +121 -59
- package/src/headers/{18 → 22}/node_main_instance.h +4 -31
- package/src/headers/{18 → 22}/node_messaging.h +27 -10
- package/src/headers/{18 → 22}/node_metadata.h +23 -1
- package/src/headers/{18 → 22}/node_options-inl.h +24 -11
- package/src/headers/{18 → 22}/node_options.h +124 -39
- package/src/headers/{18 → 22}/node_perf.h +0 -2
- package/src/headers/{18 → 22}/node_perf_common.h +20 -9
- package/src/headers/{18 → 22}/node_platform.h +11 -5
- package/src/headers/{18 → 22}/node_process.h +26 -14
- package/src/headers/22/node_realm-inl.h +145 -0
- package/src/headers/22/node_realm.h +184 -0
- package/src/headers/{16 → 22}/node_report.h +13 -17
- package/src/headers/{16 → 22}/node_revert.h +3 -3
- package/src/headers/{16 → 22}/node_root_certs.h +902 -461
- package/src/headers/22/node_sea.h +64 -0
- package/src/headers/22/node_shadow_realm.h +46 -0
- package/src/headers/22/node_snapshot_builder.h +57 -0
- package/src/headers/22/node_snapshotable.h +174 -0
- package/src/headers/{18 → 22}/node_sockaddr.h +2 -2
- package/src/headers/{16 → 22}/node_stat_watcher.h +2 -1
- package/src/headers/22/node_threadsafe_cow-inl.h +54 -0
- package/src/headers/22/node_threadsafe_cow.h +105 -0
- package/src/headers/22/node_union_bytes.h +81 -0
- package/src/headers/22/node_url.h +96 -0
- package/src/headers/22/node_v8.h +77 -0
- package/src/headers/{14 → 22}/node_v8_platform-inl.h +17 -6
- package/src/headers/{16 → 22}/node_version.h +21 -9
- package/src/headers/22/node_wasi.h +185 -0
- package/src/headers/{14 → 22}/node_watchdog.h +2 -0
- package/src/headers/{18 → 22}/node_worker.h +7 -2
- package/src/headers/22/permission/child_process_permission.h +31 -0
- package/src/headers/22/permission/fs_permission.h +167 -0
- package/src/headers/22/permission/inspector_permission.h +31 -0
- package/src/headers/22/permission/permission.h +99 -0
- package/src/headers/22/permission/permission_base.h +60 -0
- package/src/headers/22/permission/wasi_permission.h +31 -0
- package/src/headers/22/permission/worker_permission.h +31 -0
- package/src/headers/{16 → 22}/req_wrap-inl.h +7 -6
- package/src/headers/{14 → 22}/spawn_sync.h +3 -3
- package/src/headers/{18 → 22}/stream_base-inl.h +0 -135
- package/src/headers/{18 → 22}/stream_base.h +35 -16
- package/src/headers/{18 → 22}/stream_pipe.h +3 -4
- package/src/headers/{16 → 22}/stream_wrap.h +2 -1
- package/src/headers/{18 → 22}/string_bytes.h +5 -14
- package/src/headers/{14 → 22}/string_decoder-inl.h +0 -6
- package/src/headers/{16 → 22}/string_decoder.h +0 -1
- package/src/headers/{18 → 22}/tcp_wrap.h +1 -1
- package/src/headers/{18 → 22}/threadpoolwork-inl.h +14 -1
- package/src/headers/22/timers.h +76 -0
- package/src/headers/{18 → 22}/tracing/trace_event.h +7 -5
- package/src/headers/{16 → 22}/udp_wrap.h +8 -5
- package/src/headers/22/undici_version.h +6 -0
- package/src/headers/{18 → 22}/util-inl.h +97 -127
- package/src/headers/{18 → 22}/util.h +293 -106
- package/src/headers/{18 → 22}/v8-fast-api-calls.h +103 -58
- package/src/headers/24/acorn_version.h +6 -0
- package/src/headers/24/addon_permission.h +31 -0
- package/src/headers/{16/tracing → 24}/agent.h +1 -1
- package/src/headers/24/aliased_buffer-inl.h +244 -0
- package/src/headers/24/aliased_buffer.h +206 -0
- package/src/headers/24/amaro_version.h +6 -0
- package/src/headers/24/application.h +165 -0
- package/src/headers/24/async_context_frame.h +33 -0
- package/src/headers/{14 → 24}/async_wrap-inl.h +8 -6
- package/src/headers/{16 → 24}/async_wrap.h +86 -88
- package/src/headers/{16 → 24}/base_object-inl.h +75 -119
- package/src/headers/{16 → 24}/base_object.h +84 -40
- package/src/headers/24/base_object_types.h +74 -0
- package/src/headers/24/bindingdata.h +272 -0
- package/src/headers/24/blob_serializer_deserializer-inl.h +385 -0
- package/src/headers/24/blob_serializer_deserializer.h +132 -0
- package/src/headers/{18 → 24}/callback_queue.h +1 -0
- package/src/headers/{18 → 24}/cares_wrap.h +68 -144
- package/src/headers/24/child_process_permission.h +31 -0
- package/src/headers/24/cid.h +127 -0
- package/src/headers/24/cjs_module_lexer_version.h +6 -0
- package/src/headers/24/cleanup_queue-inl.h +36 -0
- package/src/headers/24/cleanup_queue.h +79 -0
- package/src/headers/24/compile_cache.h +113 -0
- package/src/headers/24/cppgc_helpers-inl.h +65 -0
- package/src/headers/24/cppgc_helpers.h +162 -0
- package/src/headers/24/crypto/crypto_aes.h +97 -0
- package/src/headers/24/crypto/crypto_argon2.h +86 -0
- package/src/headers/{16 → 24}/crypto/crypto_bio.h +8 -9
- package/src/headers/24/crypto/crypto_chacha20_poly1305.h +64 -0
- package/src/headers/{18 → 24}/crypto/crypto_cipher.h +48 -58
- package/src/headers/{16 → 24}/crypto/crypto_clienthello-inl.h +2 -2
- package/src/headers/{16 → 24}/crypto/crypto_clienthello.h +1 -1
- package/src/headers/24/crypto/crypto_common.h +48 -0
- package/src/headers/{16 → 24}/crypto/crypto_context.h +46 -22
- package/src/headers/{18 → 24}/crypto/crypto_dh.h +27 -57
- package/src/headers/{18 → 24}/crypto/crypto_dsa.h +7 -34
- package/src/headers/{18 → 24}/crypto/crypto_ec.h +42 -49
- package/src/headers/{18 → 24}/crypto/crypto_hash.h +11 -11
- package/src/headers/{18 → 24}/crypto/crypto_hkdf.h +10 -14
- package/src/headers/{18 → 24}/crypto/crypto_hmac.h +11 -13
- package/src/headers/24/crypto/crypto_kem.h +113 -0
- package/src/headers/{18 → 24}/crypto/crypto_keygen.h +59 -74
- package/src/headers/{16 → 24}/crypto/crypto_keys.h +134 -154
- package/src/headers/24/crypto/crypto_ml_dsa.h +21 -0
- package/src/headers/{18 → 24}/crypto/crypto_pbkdf2.h +9 -11
- package/src/headers/{18 → 24}/crypto/crypto_random.h +28 -34
- package/src/headers/{18 → 24}/crypto/crypto_rsa.h +30 -35
- package/src/headers/{18 → 24}/crypto/crypto_scrypt.h +8 -10
- package/src/headers/{18 → 24}/crypto/crypto_sig.h +36 -48
- package/src/headers/{16 → 24}/crypto/crypto_tls.h +35 -18
- package/src/headers/{16 → 24}/crypto/crypto_util.h +183 -321
- package/src/headers/24/crypto/crypto_x509.h +140 -0
- package/src/headers/24/data.h +148 -0
- package/src/headers/{14 → 24}/debug_utils-inl.h +17 -8
- package/src/headers/{16 → 24}/debug_utils.h +31 -22
- package/src/headers/24/defs.h +254 -0
- package/src/headers/24/embedded_data.h +17 -0
- package/src/headers/24/encoding_binding.h +60 -0
- package/src/headers/24/endpoint.h +421 -0
- package/src/headers/{16 → 24}/env-inl.h +198 -540
- package/src/headers/24/env.h +1257 -0
- package/src/headers/24/env_properties.h +561 -0
- package/src/headers/24/fs_permission.h +167 -0
- package/src/headers/{16 → 24}/handle_wrap.h +4 -2
- package/src/headers/{16 → 24}/histogram-inl.h +34 -15
- package/src/headers/24/histogram.h +279 -0
- package/src/headers/24/http3.h +44 -0
- package/src/headers/{18 → 24}/inspector_agent.h +23 -2
- package/src/headers/24/inspector_permission.h +31 -0
- package/src/headers/{18 → 24}/inspector_profiler.h +15 -15
- package/src/headers/24/io_agent.h +30 -0
- package/src/headers/{18 → 24}/js_native_api.h +74 -30
- package/src/headers/{16 → 24}/js_native_api_types.h +61 -10
- package/src/headers/{18 → 24}/js_native_api_v8.h +205 -160
- package/src/headers/{16 → 24}/js_native_api_v8_internals.h +12 -6
- package/src/headers/24/json_parser.h +40 -0
- package/src/headers/{18 → 24}/json_utils.h +19 -8
- package/src/headers/24/logstream.h +81 -0
- package/src/headers/24/main_thread_interface.h +116 -0
- package/src/headers/{16 → 24}/memory_tracker-inl.h +115 -17
- package/src/headers/{16 → 24}/memory_tracker.h +58 -9
- package/src/headers/24/module_wrap.h +229 -0
- package/src/headers/24/ncrypto.h +1625 -0
- package/src/headers/24/network_agent.h +118 -0
- package/src/headers/24/network_inspector.h +45 -0
- package/src/headers/24/network_resource_manager.h +29 -0
- package/src/headers/{16 → 24}/node.h +560 -72
- package/src/headers/24/node_api.h +269 -0
- package/src/headers/24/node_api_internals.h +46 -0
- package/src/headers/{16 → 24}/node_api_types.h +13 -11
- package/src/headers/24/node_binding.h +163 -0
- package/src/headers/{16 → 24}/node_blob.h +46 -78
- package/src/headers/{16 → 24}/node_bob-inl.h +1 -2
- package/src/headers/{16 → 24}/node_bob.h +2 -6
- package/src/headers/{14 → 24}/node_buffer.h +1 -1
- package/src/headers/24/node_builtins.h +223 -0
- package/src/headers/24/node_config_file.h +65 -0
- package/src/headers/{14 → 24}/node_constants.h +3 -5
- package/src/headers/24/node_context_data.h +168 -0
- package/src/headers/24/node_contextify.h +261 -0
- package/src/headers/{18 → 24}/node_crypto.h +7 -2
- package/src/headers/24/node_debug.h +25 -0
- package/src/headers/24/node_dotenv.h +45 -0
- package/src/headers/{16 → 24}/node_errors.h +146 -32
- package/src/headers/24/node_exit_code.h +54 -0
- package/src/headers/{18 → 24}/node_external_reference.h +44 -22
- package/src/headers/{16 → 24}/node_file-inl.h +156 -50
- package/src/headers/{18 → 24}/node_file.h +129 -15
- package/src/headers/{16 → 24}/node_http2.h +53 -18
- package/src/headers/{14 → 24}/node_http2_state.h +35 -25
- package/src/headers/{16 → 24}/node_http_common-inl.h +8 -10
- package/src/headers/{16 → 24}/node_http_common.h +63 -59
- package/src/headers/{18 → 24}/node_i18n.h +5 -18
- package/src/headers/{16 → 24}/node_internals.h +131 -76
- package/src/headers/24/node_json.h +24 -0
- package/src/headers/24/node_large_page.h +34 -0
- package/src/headers/24/node_locks.h +180 -0
- package/src/headers/{14 → 24}/node_main_instance.h +15 -44
- package/src/headers/{16 → 24}/node_mem-inl.h +7 -7
- package/src/headers/{16 → 24}/node_messaging.h +27 -11
- package/src/headers/{16 → 24}/node_metadata.h +44 -2
- package/src/headers/24/node_modules.h +93 -0
- package/src/headers/{16 → 24}/node_options-inl.h +93 -46
- package/src/headers/{16 → 24}/node_options.h +251 -63
- package/src/headers/{16 → 24}/node_perf.h +6 -25
- package/src/headers/{16 → 24}/node_perf_common.h +23 -10
- package/src/headers/24/node_platform.h +286 -0
- package/src/headers/24/node_process.h +111 -0
- package/src/headers/24/node_realm-inl.h +153 -0
- package/src/headers/24/node_realm.h +236 -0
- package/src/headers/{18 → 24}/node_report.h +13 -17
- package/src/headers/{18 → 24}/node_revert.h +3 -3
- package/src/headers/{18 → 24}/node_root_certs.h +1010 -710
- package/src/headers/24/node_sea.h +74 -0
- package/src/headers/24/node_shadow_realm.h +46 -0
- package/src/headers/24/node_snapshot_builder.h +57 -0
- package/src/headers/24/node_snapshotable.h +174 -0
- package/src/headers/{16 → 24}/node_sockaddr-inl.h +11 -20
- package/src/headers/{16 → 24}/node_sockaddr.h +9 -20
- package/src/headers/24/node_sqlite.h +270 -0
- package/src/headers/{18 → 24}/node_stat_watcher.h +2 -1
- package/src/headers/24/node_string.h +101 -0
- package/src/headers/24/node_task_runner.h +92 -0
- package/src/headers/24/node_threadsafe_cow-inl.h +54 -0
- package/src/headers/24/node_threadsafe_cow.h +105 -0
- package/src/headers/24/node_union_bytes.h +81 -0
- package/src/headers/24/node_url.h +101 -0
- package/src/headers/24/node_url_pattern.h +118 -0
- package/src/headers/24/node_v8.h +77 -0
- package/src/headers/{18 → 24}/node_v8_platform-inl.h +22 -31
- package/src/headers/{18 → 24}/node_version.h +18 -6
- package/src/headers/24/node_wasi.h +185 -0
- package/src/headers/24/node_wasm_web_api.h +55 -0
- package/src/headers/{18 → 24}/node_watchdog.h +2 -0
- package/src/headers/24/node_webstorage.h +60 -0
- package/src/headers/{16 → 24}/node_worker.h +24 -10
- package/src/headers/24/packet.h +155 -0
- package/src/headers/24/path.h +33 -0
- package/src/headers/24/permission/addon_permission.h +31 -0
- package/src/headers/24/permission/child_process_permission.h +31 -0
- package/src/headers/24/permission/fs_permission.h +167 -0
- package/src/headers/24/permission/inspector_permission.h +31 -0
- package/src/headers/24/permission/permission.h +100 -0
- package/src/headers/24/permission/permission_base.h +65 -0
- package/src/headers/24/permission/wasi_permission.h +31 -0
- package/src/headers/24/permission/worker_permission.h +31 -0
- package/src/headers/24/permission.h +100 -0
- package/src/headers/24/permission_base.h +65 -0
- package/src/headers/24/preferredaddress.h +72 -0
- package/src/headers/24/protocol_helper.h +27 -0
- package/src/headers/24/queue.h +306 -0
- package/src/headers/{18 → 24}/req_wrap-inl.h +12 -6
- package/src/headers/{16 → 24}/req_wrap.h +3 -1
- package/src/headers/24/runtime_agent.h +41 -0
- package/src/headers/24/session.h +528 -0
- package/src/headers/24/sessionticket.h +108 -0
- package/src/headers/{18 → 24}/spawn_sync.h +9 -8
- package/src/headers/{16 → 24}/stream_base-inl.h +3 -133
- package/src/headers/{16 → 24}/stream_base.h +43 -19
- package/src/headers/{16 → 24}/stream_pipe.h +7 -4
- package/src/headers/{18 → 24}/stream_wrap.h +2 -3
- package/src/headers/24/streams.h +370 -0
- package/src/headers/{16 → 24}/string_bytes.h +8 -21
- package/src/headers/{18 → 24}/string_decoder-inl.h +0 -6
- package/src/headers/{18 → 24}/string_decoder.h +0 -1
- package/src/headers/24/target_agent.h +75 -0
- package/src/headers/{16 → 24}/tcp_wrap.h +3 -1
- package/src/headers/{14 → 24}/threadpoolwork-inl.h +14 -1
- package/src/headers/24/timer_wrap-inl.h +32 -0
- package/src/headers/{16 → 24}/timer_wrap.h +7 -4
- package/src/headers/24/timers.h +75 -0
- package/src/headers/24/tlscontext.h +228 -0
- package/src/headers/24/tokens.h +256 -0
- package/src/headers/{14/tracing → 24}/trace_event.h +7 -5
- package/src/headers/24/traced_value.h +129 -0
- package/src/headers/24/tracing_agent.h +43 -0
- package/src/headers/24/transportparams.h +166 -0
- package/src/headers/{16 → 24}/tty_wrap.h +0 -1
- package/src/headers/{18 → 24}/udp_wrap.h +8 -5
- package/src/headers/24/undici_version.h +6 -0
- package/src/headers/{16 → 24}/util-inl.h +267 -131
- package/src/headers/{16 → 24}/util.h +338 -146
- package/src/headers/24/v8-external-memory-accounter.h +60 -0
- package/src/headers/24/v8-fast-api-calls.h +819 -0
- package/src/headers/24/v8-inspector.h +426 -0
- package/src/headers/24/wasi_permission.h +31 -0
- package/src/headers/24/worker_agent.h +40 -0
- package/src/headers/24/worker_inspector.h +124 -0
- package/src/headers/24/worker_permission.h +31 -0
- package/src/headers/24/zlib_version.h +6 -0
- package/dist/bindings/cws_darwin_arm64_node83.node +0 -0
- package/dist/bindings/cws_darwin_arm64_node93.node +0 -0
- package/dist/bindings/cws_darwin_x64_node83.node +0 -0
- package/dist/bindings/cws_darwin_x64_node93.node +0 -0
- package/dist/bindings/cws_linux_arm64_node83.node +0 -0
- package/dist/bindings/cws_linux_arm64_node93.node +0 -0
- package/dist/bindings/cws_linux_x64_node83.node +0 -0
- package/dist/bindings/cws_linux_x64_node93.node +0 -0
- package/src/headers/14/aliased_buffer.h +0 -263
- package/src/headers/14/allocated_buffer-inl.h +0 -110
- package/src/headers/14/allocated_buffer.h +0 -73
- package/src/headers/14/async_wrap.h +0 -230
- package/src/headers/14/base64.h +0 -183
- package/src/headers/14/base_object-inl.h +0 -371
- package/src/headers/14/base_object.h +0 -281
- package/src/headers/14/callback_queue-inl.h +0 -97
- package/src/headers/14/callback_queue.h +0 -78
- package/src/headers/14/debug_utils.h +0 -181
- package/src/headers/14/env.h +0 -1388
- package/src/headers/14/handle_wrap.h +0 -117
- package/src/headers/14/histogram-inl.h +0 -83
- package/src/headers/14/histogram.h +0 -98
- package/src/headers/14/inspector_agent.h +0 -149
- package/src/headers/14/inspector_profiler.h +0 -137
- package/src/headers/14/js_native_api.h +0 -544
- package/src/headers/14/js_native_api_types.h +0 -143
- package/src/headers/14/js_native_api_v8.h +0 -301
- package/src/headers/14/js_native_api_v8_internals.h +0 -38
- package/src/headers/14/json_utils.h +0 -161
- package/src/headers/14/memory_tracker-inl.h +0 -355
- package/src/headers/14/module_wrap.h +0 -99
- package/src/headers/14/node.h +0 -1032
- package/src/headers/14/node_api.h +0 -255
- package/src/headers/14/node_api_types.h +0 -44
- package/src/headers/14/node_binding.h +0 -99
- package/src/headers/14/node_context_data.h +0 -44
- package/src/headers/14/node_contextify.h +0 -161
- package/src/headers/14/node_crypto.h +0 -865
- package/src/headers/14/node_crypto_bio.h +0 -195
- package/src/headers/14/node_crypto_clienthello-inl.h +0 -91
- package/src/headers/14/node_crypto_clienthello.h +0 -132
- package/src/headers/14/node_crypto_common.h +0 -138
- package/src/headers/14/node_crypto_groups.h +0 -415
- package/src/headers/14/node_dtrace.h +0 -86
- package/src/headers/14/node_errors.h +0 -214
- package/src/headers/14/node_file-inl.h +0 -306
- package/src/headers/14/node_file.h +0 -417
- package/src/headers/14/node_http2.h +0 -1191
- package/src/headers/14/node_http_common-inl.h +0 -194
- package/src/headers/14/node_http_common.h +0 -529
- package/src/headers/14/node_i18n.h +0 -144
- package/src/headers/14/node_internals.h +0 -405
- package/src/headers/14/node_mem.h +0 -45
- package/src/headers/14/node_messaging.h +0 -303
- package/src/headers/14/node_metadata.h +0 -109
- package/src/headers/14/node_mutex.h +0 -247
- package/src/headers/14/node_native_module.h +0 -101
- package/src/headers/14/node_native_module_env.h +0 -66
- package/src/headers/14/node_options-inl.h +0 -451
- package/src/headers/14/node_options.h +0 -481
- package/src/headers/14/node_perf.h +0 -181
- package/src/headers/14/node_perf_common.h +0 -97
- package/src/headers/14/node_platform.h +0 -189
- package/src/headers/14/node_process.h +0 -40
- package/src/headers/14/node_report.h +0 -47
- package/src/headers/14/node_revert.h +0 -72
- package/src/headers/14/node_root_certs.h +0 -3458
- package/src/headers/14/node_sockaddr-inl.h +0 -170
- package/src/headers/14/node_sockaddr.h +0 -123
- package/src/headers/14/node_stat_watcher.h +0 -70
- package/src/headers/14/node_union_bytes.h +0 -103
- package/src/headers/14/node_url.h +0 -188
- package/src/headers/14/node_version.h +0 -98
- package/src/headers/14/node_wasi.h +0 -108
- package/src/headers/14/node_win32_etw_provider-inl.h +0 -287
- package/src/headers/14/node_win32_etw_provider.h +0 -99
- package/src/headers/14/node_worker.h +0 -141
- package/src/headers/14/pipe_wrap.h +0 -78
- package/src/headers/14/req_wrap-inl.h +0 -170
- package/src/headers/14/req_wrap.h +0 -77
- package/src/headers/14/stream_base-inl.h +0 -275
- package/src/headers/14/stream_base.h +0 -434
- package/src/headers/14/stream_pipe.h +0 -73
- package/src/headers/14/stream_wrap.h +0 -130
- package/src/headers/14/string_bytes.h +0 -129
- package/src/headers/14/string_decoder.h +0 -50
- package/src/headers/14/string_search.h +0 -638
- package/src/headers/14/tcp_wrap.h +0 -101
- package/src/headers/14/tls_wrap.h +0 -222
- package/src/headers/14/tracing/agent.h +0 -195
- package/src/headers/14/tracing/traced_value.h +0 -70
- package/src/headers/14/tty_wrap.h +0 -64
- package/src/headers/14/udp_wrap.h +0 -227
- package/src/headers/14/util-inl.h +0 -566
- package/src/headers/14/util.h +0 -804
- package/src/headers/14/v8abbr.h +0 -124
- package/src/headers/16/aliased_buffer.h +0 -315
- package/src/headers/16/allocated_buffer-inl.h +0 -110
- package/src/headers/16/allocated_buffer.h +0 -73
- package/src/headers/16/async_wrap-inl.h +0 -94
- package/src/headers/16/base64-inl.h +0 -189
- package/src/headers/16/base64.h +0 -69
- package/src/headers/16/crypto/crypto_aes.h +0 -89
- package/src/headers/16/crypto/crypto_cipher.h +0 -286
- package/src/headers/16/crypto/crypto_common.h +0 -187
- package/src/headers/16/crypto/crypto_dh.h +0 -157
- package/src/headers/16/crypto/crypto_dsa.h +0 -76
- package/src/headers/16/crypto/crypto_ec.h +0 -169
- package/src/headers/16/crypto/crypto_groups.h +0 -415
- package/src/headers/16/crypto/crypto_hash.h +0 -89
- package/src/headers/16/crypto/crypto_hkdf.h +0 -66
- package/src/headers/16/crypto/crypto_hmac.h +0 -94
- package/src/headers/16/crypto/crypto_keygen.h +0 -301
- package/src/headers/16/crypto/crypto_pbkdf2.h +0 -76
- package/src/headers/16/crypto/crypto_random.h +0 -130
- package/src/headers/16/crypto/crypto_rsa.h +0 -141
- package/src/headers/16/crypto/crypto_scrypt.h +0 -87
- package/src/headers/16/crypto/crypto_sig.h +0 -167
- package/src/headers/16/crypto/crypto_spkac.h +0 -20
- package/src/headers/16/crypto/crypto_timing.h +0 -20
- package/src/headers/16/crypto/crypto_x509.h +0 -141
- package/src/headers/16/env.h +0 -1629
- package/src/headers/16/histogram.h +0 -216
- package/src/headers/16/js_native_api.h +0 -561
- package/src/headers/16/js_native_api_v8.h +0 -451
- package/src/headers/16/node.d +0 -315
- package/src/headers/16/node.stp +0 -146
- package/src/headers/16/node_api.h +0 -275
- package/src/headers/16/node_api_internals.h +0 -30
- package/src/headers/16/node_binding.h +0 -99
- package/src/headers/16/node_buffer.h +0 -92
- package/src/headers/16/node_constants.h +0 -84
- package/src/headers/16/node_context_data.h +0 -44
- package/src/headers/16/node_contextify.h +0 -196
- package/src/headers/16/node_dtrace.h +0 -86
- package/src/headers/16/node_external_reference.h +0 -129
- package/src/headers/16/node_main_instance.h +0 -103
- package/src/headers/16/node_native_module.h +0 -101
- package/src/headers/16/node_native_module_env.h +0 -68
- package/src/headers/16/node_platform.h +0 -192
- package/src/headers/16/node_process.h +0 -43
- package/src/headers/16/node_provider.d +0 -80
- package/src/headers/16/node_snapshotable.h +0 -137
- package/src/headers/16/node_union_bytes.h +0 -103
- package/src/headers/16/node_url.h +0 -205
- package/src/headers/16/node_v8.h +0 -41
- package/src/headers/16/node_v8_platform-inl.h +0 -194
- package/src/headers/16/node_wasi.h +0 -108
- package/src/headers/16/node_watchdog.h +0 -152
- package/src/headers/16/node_win32_etw_provider-inl.h +0 -288
- package/src/headers/16/node_win32_etw_provider.h +0 -99
- package/src/headers/16/spawn_sync.h +0 -242
- package/src/headers/16/string_decoder-inl.h +0 -37
- package/src/headers/16/string_search.h +0 -638
- package/src/headers/16/threadpoolwork-inl.h +0 -57
- package/src/headers/16/tracing/node_trace_buffer.h +0 -83
- package/src/headers/16/tracing/node_trace_writer.h +0 -75
- package/src/headers/16/tracing/trace_event.h +0 -720
- package/src/headers/16/tracing/traced_value.h +0 -70
- package/src/headers/16/v8abbr.h +0 -123
- package/src/headers/16/v8ustack.d +0 -695
- package/src/headers/18/aliased_buffer.h +0 -315
- package/src/headers/18/aliased_struct-inl.h +0 -54
- package/src/headers/18/aliased_struct.h +0 -63
- package/src/headers/18/base64-inl.h +0 -189
- package/src/headers/18/base64.h +0 -69
- package/src/headers/18/connect_wrap.h +0 -26
- package/src/headers/18/connection_wrap.h +0 -30
- package/src/headers/18/crypto/crypto_aes.h +0 -89
- package/src/headers/18/crypto/crypto_bio.h +0 -194
- package/src/headers/18/crypto/crypto_clienthello-inl.h +0 -90
- package/src/headers/18/crypto/crypto_common.h +0 -151
- package/src/headers/18/crypto/crypto_groups.h +0 -415
- package/src/headers/18/crypto/crypto_x509.h +0 -143
- package/src/headers/18/debug_utils-inl.h +0 -223
- package/src/headers/18/diagnosticfilename-inl.h +0 -33
- package/src/headers/18/env-inl.h +0 -1308
- package/src/headers/18/env.h +0 -1667
- package/src/headers/18/inspector_io.h +0 -78
- package/src/headers/18/inspector_socket.h +0 -60
- package/src/headers/18/inspector_socket_server.h +0 -110
- package/src/headers/18/js_stream.h +0 -52
- package/src/headers/18/memory_tracker.h +0 -284
- package/src/headers/18/module_wrap.h +0 -116
- package/src/headers/18/node_binding.h +0 -99
- package/src/headers/18/node_context_data.h +0 -44
- package/src/headers/18/node_contextify.h +0 -196
- package/src/headers/18/node_dir.h +0 -52
- package/src/headers/18/node_dtrace.h +0 -86
- package/src/headers/18/node_http2_state.h +0 -149
- package/src/headers/18/node_mem-inl.h +0 -112
- package/src/headers/18/node_native_module.h +0 -109
- package/src/headers/18/node_native_module_env.h +0 -71
- package/src/headers/18/node_object_wrap.h +0 -132
- package/src/headers/18/node_snapshot_builder.h +0 -43
- package/src/headers/18/node_snapshotable.h +0 -130
- package/src/headers/18/node_union_bytes.h +0 -103
- package/src/headers/18/node_url.h +0 -205
- package/src/headers/18/node_v8.h +0 -41
- package/src/headers/18/node_wasi.h +0 -108
- package/src/headers/18/node_win32_etw_provider-inl.h +0 -288
- package/src/headers/18/node_win32_etw_provider.h +0 -99
- package/src/headers/18/string_search.h +0 -638
- package/src/headers/18/tracing/node_trace_buffer.h +0 -83
- package/src/headers/18/tracing/node_trace_writer.h +0 -75
- package/src/headers/18/tracing/trace_event_common.h +0 -1109
- package/src/headers/18/tracing/traced_value.h +0 -70
- package/src/headers/18/v8abbr.h +0 -123
- /package/src/headers/{14 → 22}/aliased_struct-inl.h +0 -0
- /package/src/headers/{14 → 22}/aliased_struct.h +0 -0
- /package/src/headers/{16 → 22}/callback_queue-inl.h +0 -0
- /package/src/headers/{14 → 22}/connect_wrap.h +0 -0
- /package/src/headers/{14 → 22}/connection_wrap.h +0 -0
- /package/src/headers/{14 → 22}/diagnosticfilename-inl.h +0 -0
- /package/src/headers/{18 → 22}/histogram-inl.h +0 -0
- /package/src/headers/{14 → 22}/inspector_io.h +0 -0
- /package/src/headers/{14 → 22}/inspector_socket.h +0 -0
- /package/src/headers/{14 → 22}/inspector_socket_server.h +0 -0
- /package/src/headers/{14 → 22}/js_stream.h +0 -0
- /package/src/headers/{14 → 22}/node_dir.h +0 -0
- /package/src/headers/{14 → 22}/node_mem-inl.h +0 -0
- /package/src/headers/{16 → 22}/node_mem.h +0 -0
- /package/src/headers/{16 → 22}/node_mutex.h +0 -0
- /package/src/headers/{14 → 22}/node_object_wrap.h +0 -0
- /package/src/headers/{16 → 22}/node_process-inl.h +0 -0
- /package/src/headers/{18 → 22}/node_sockaddr-inl.h +0 -0
- /package/src/headers/{18 → 22}/node_wasm_web_api.h +0 -0
- /package/src/headers/{16 → 22}/pipe_wrap.h +0 -0
- /package/src/headers/{18 → 22}/req_wrap.h +0 -0
- /package/src/headers/{18 → 22}/timer_wrap-inl.h +0 -0
- /package/src/headers/{18 → 22}/timer_wrap.h +0 -0
- /package/src/headers/{18 → 22}/tracing/agent.h +0 -0
- /package/src/headers/{14 → 22}/tracing/trace_event_common.h +0 -0
- /package/src/headers/{18 → 22}/tty_wrap.h +0 -0
- /package/src/headers/{16 → 24}/aliased_struct-inl.h +0 -0
- /package/src/headers/{16 → 24}/aliased_struct.h +0 -0
- /package/src/headers/{18 → 24}/callback_queue-inl.h +0 -0
- /package/src/headers/{16 → 24}/connect_wrap.h +0 -0
- /package/src/headers/{16 → 24}/connection_wrap.h +0 -0
- /package/src/headers/{18 → 24}/crypto/crypto_spkac.h +0 -0
- /package/src/headers/{18 → 24}/crypto/crypto_timing.h +0 -0
- /package/src/headers/{16 → 24}/diagnosticfilename-inl.h +0 -0
- /package/src/headers/{16 → 24}/inspector_io.h +0 -0
- /package/src/headers/{16 → 24}/inspector_socket.h +0 -0
- /package/src/headers/{16 → 24}/inspector_socket_server.h +0 -0
- /package/src/headers/{16 → 24}/js_stream.h +0 -0
- /package/src/headers/{16 → 24}/node_dir.h +0 -0
- /package/src/headers/{18 → 24}/node_mem.h +0 -0
- /package/src/headers/{18 → 24}/node_mutex.h +0 -0
- /package/src/headers/{16 → 24}/node_object_wrap.h +0 -0
- /package/src/headers/{18 → 24}/node_process-inl.h +0 -0
- /package/src/headers/{14/tracing → 24}/node_trace_buffer.h +0 -0
- /package/src/headers/{14/tracing → 24}/node_trace_writer.h +0 -0
- /package/src/headers/{18 → 24}/pipe_wrap.h +0 -0
- /package/src/headers/{16/tracing → 24}/trace_event_common.h +0 -0
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
|
|
4
4
|
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
5
|
|
|
6
|
-
#include "allocated_buffer-inl.h"
|
|
7
6
|
#include "async_wrap-inl.h"
|
|
8
7
|
#include "base_object-inl.h"
|
|
9
8
|
#include "node.h"
|
|
@@ -68,30 +67,6 @@ void StreamResource::PushStreamListener(StreamListener* listener) {
|
|
|
68
67
|
listener_ = listener;
|
|
69
68
|
}
|
|
70
69
|
|
|
71
|
-
void StreamResource::RemoveStreamListener(StreamListener* listener) {
|
|
72
|
-
CHECK_NOT_NULL(listener);
|
|
73
|
-
|
|
74
|
-
StreamListener* previous;
|
|
75
|
-
StreamListener* current;
|
|
76
|
-
|
|
77
|
-
// Remove from the linked list.
|
|
78
|
-
for (current = listener_, previous = nullptr;
|
|
79
|
-
/* No loop condition because we want a crash if listener is not found */
|
|
80
|
-
; previous = current, current = current->previous_listener_) {
|
|
81
|
-
CHECK_NOT_NULL(current);
|
|
82
|
-
if (current == listener) {
|
|
83
|
-
if (previous != nullptr)
|
|
84
|
-
previous->previous_listener_ = current->previous_listener_;
|
|
85
|
-
else
|
|
86
|
-
listener_ = listener->previous_listener_;
|
|
87
|
-
break;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
listener->stream_ = nullptr;
|
|
92
|
-
listener->previous_listener_ = nullptr;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
70
|
uv_buf_t StreamResource::EmitAlloc(size_t suggested_size) {
|
|
96
71
|
DebugSealHandleScope seal_handle_scope;
|
|
97
72
|
return listener_->OnStreamAlloc(suggested_size);
|
|
@@ -123,97 +98,6 @@ StreamBase::StreamBase(Environment* env) : env_(env) {
|
|
|
123
98
|
PushStreamListener(&default_listener_);
|
|
124
99
|
}
|
|
125
100
|
|
|
126
|
-
int StreamBase::Shutdown(v8::Local<v8::Object> req_wrap_obj) {
|
|
127
|
-
Environment* env = stream_env();
|
|
128
|
-
|
|
129
|
-
v8::HandleScope handle_scope(env->isolate());
|
|
130
|
-
|
|
131
|
-
if (req_wrap_obj.IsEmpty()) {
|
|
132
|
-
if (!env->shutdown_wrap_template()
|
|
133
|
-
->NewInstance(env->context())
|
|
134
|
-
.ToLocal(&req_wrap_obj)) {
|
|
135
|
-
return UV_EBUSY;
|
|
136
|
-
}
|
|
137
|
-
StreamReq::ResetObject(req_wrap_obj);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
BaseObjectPtr<AsyncWrap> req_wrap_ptr;
|
|
141
|
-
AsyncHooks::DefaultTriggerAsyncIdScope trigger_scope(GetAsyncWrap());
|
|
142
|
-
ShutdownWrap* req_wrap = CreateShutdownWrap(req_wrap_obj);
|
|
143
|
-
if (req_wrap != nullptr)
|
|
144
|
-
req_wrap_ptr.reset(req_wrap->GetAsyncWrap());
|
|
145
|
-
int err = DoShutdown(req_wrap);
|
|
146
|
-
|
|
147
|
-
if (err != 0 && req_wrap != nullptr) {
|
|
148
|
-
req_wrap->Dispose();
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
const char* msg = Error();
|
|
152
|
-
if (msg != nullptr) {
|
|
153
|
-
req_wrap_obj->Set(
|
|
154
|
-
env->context(),
|
|
155
|
-
env->error_string(), OneByteString(env->isolate(), msg)).Check();
|
|
156
|
-
ClearError();
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
return err;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
StreamWriteResult StreamBase::Write(
|
|
163
|
-
uv_buf_t* bufs,
|
|
164
|
-
size_t count,
|
|
165
|
-
uv_stream_t* send_handle,
|
|
166
|
-
v8::Local<v8::Object> req_wrap_obj) {
|
|
167
|
-
Environment* env = stream_env();
|
|
168
|
-
int err;
|
|
169
|
-
|
|
170
|
-
size_t total_bytes = 0;
|
|
171
|
-
for (size_t i = 0; i < count; ++i)
|
|
172
|
-
total_bytes += bufs[i].len;
|
|
173
|
-
bytes_written_ += total_bytes;
|
|
174
|
-
|
|
175
|
-
if (send_handle == nullptr) {
|
|
176
|
-
err = DoTryWrite(&bufs, &count);
|
|
177
|
-
if (err != 0 || count == 0) {
|
|
178
|
-
return StreamWriteResult { false, err, nullptr, total_bytes, {} };
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
v8::HandleScope handle_scope(env->isolate());
|
|
183
|
-
|
|
184
|
-
if (req_wrap_obj.IsEmpty()) {
|
|
185
|
-
if (!env->write_wrap_template()
|
|
186
|
-
->NewInstance(env->context())
|
|
187
|
-
.ToLocal(&req_wrap_obj)) {
|
|
188
|
-
return StreamWriteResult { false, UV_EBUSY, nullptr, 0, {} };
|
|
189
|
-
}
|
|
190
|
-
StreamReq::ResetObject(req_wrap_obj);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
AsyncHooks::DefaultTriggerAsyncIdScope trigger_scope(GetAsyncWrap());
|
|
194
|
-
WriteWrap* req_wrap = CreateWriteWrap(req_wrap_obj);
|
|
195
|
-
BaseObjectPtr<AsyncWrap> req_wrap_ptr(req_wrap->GetAsyncWrap());
|
|
196
|
-
|
|
197
|
-
err = DoWrite(req_wrap, bufs, count, send_handle);
|
|
198
|
-
bool async = err == 0;
|
|
199
|
-
|
|
200
|
-
if (!async) {
|
|
201
|
-
req_wrap->Dispose();
|
|
202
|
-
req_wrap = nullptr;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
const char* msg = Error();
|
|
206
|
-
if (msg != nullptr) {
|
|
207
|
-
req_wrap_obj->Set(env->context(),
|
|
208
|
-
env->error_string(),
|
|
209
|
-
OneByteString(env->isolate(), msg)).Check();
|
|
210
|
-
ClearError();
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
return StreamWriteResult {
|
|
214
|
-
async, err, req_wrap, total_bytes, std::move(req_wrap_ptr) };
|
|
215
|
-
}
|
|
216
|
-
|
|
217
101
|
template <typename OtherBase>
|
|
218
102
|
SimpleShutdownWrap<OtherBase>::SimpleShutdownWrap(
|
|
219
103
|
StreamBase* stream,
|
|
@@ -270,23 +154,9 @@ ShutdownWrap* ShutdownWrap::FromObject(
|
|
|
270
154
|
return FromObject(base_obj->object());
|
|
271
155
|
}
|
|
272
156
|
|
|
273
|
-
void WriteWrap::
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
void StreamReq::Done(int status, const char* error_str) {
|
|
279
|
-
AsyncWrap* async_wrap = GetAsyncWrap();
|
|
280
|
-
Environment* env = async_wrap->env();
|
|
281
|
-
if (error_str != nullptr) {
|
|
282
|
-
v8::HandleScope handle_scope(env->isolate());
|
|
283
|
-
async_wrap->object()->Set(env->context(),
|
|
284
|
-
env->error_string(),
|
|
285
|
-
OneByteString(env->isolate(), error_str))
|
|
286
|
-
.Check();
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
OnDone(status);
|
|
157
|
+
void WriteWrap::SetBackingStore(std::unique_ptr<v8::BackingStore> bs) {
|
|
158
|
+
CHECK(!backing_store_);
|
|
159
|
+
backing_store_ = std::move(bs);
|
|
290
160
|
}
|
|
291
161
|
|
|
292
162
|
void StreamReq::ResetObject(v8::Local<v8::Object> obj) {
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
5
|
|
|
6
6
|
#include "env.h"
|
|
7
|
-
#include "allocated_buffer.h"
|
|
8
7
|
#include "async_wrap.h"
|
|
9
8
|
#include "node.h"
|
|
10
9
|
#include "util.h"
|
|
@@ -50,7 +49,9 @@ class StreamReq {
|
|
|
50
49
|
virtual AsyncWrap* GetAsyncWrap() = 0;
|
|
51
50
|
inline v8::Local<v8::Object> object();
|
|
52
51
|
|
|
53
|
-
|
|
52
|
+
// TODO(RaisinTen): Update the return type to a Maybe, so that we can indicate
|
|
53
|
+
// if there is a pending exception/termination.
|
|
54
|
+
void Done(int status, const char* error_str = nullptr);
|
|
54
55
|
inline void Dispose();
|
|
55
56
|
|
|
56
57
|
StreamBase* stream() const { return stream_; }
|
|
@@ -90,7 +91,7 @@ class ShutdownWrap : public StreamReq {
|
|
|
90
91
|
|
|
91
92
|
class WriteWrap : public StreamReq {
|
|
92
93
|
public:
|
|
93
|
-
inline void
|
|
94
|
+
inline void SetBackingStore(std::unique_ptr<v8::BackingStore> bs);
|
|
94
95
|
|
|
95
96
|
inline WriteWrap(
|
|
96
97
|
StreamBase* stream,
|
|
@@ -105,7 +106,7 @@ class WriteWrap : public StreamReq {
|
|
|
105
106
|
void OnDone(int status) override;
|
|
106
107
|
|
|
107
108
|
private:
|
|
108
|
-
|
|
109
|
+
std::unique_ptr<v8::BackingStore> backing_store_;
|
|
109
110
|
};
|
|
110
111
|
|
|
111
112
|
|
|
@@ -224,7 +225,7 @@ class StreamResource {
|
|
|
224
225
|
// These need to be implemented on the readable side of this stream:
|
|
225
226
|
|
|
226
227
|
// Start reading from the underlying resource. This is called by the consumer
|
|
227
|
-
// when more data is desired. Use `EmitAlloc()` and `
|
|
228
|
+
// when more data is desired. Use `EmitAlloc()` and `EmitRead()` to
|
|
228
229
|
// pass data along to the consumer.
|
|
229
230
|
virtual int ReadStart() = 0;
|
|
230
231
|
// Stop reading from the underlying resource. This is called by the
|
|
@@ -243,14 +244,21 @@ class StreamResource {
|
|
|
243
244
|
// `*bufs` and `*count` accordingly. This is a no-op by default.
|
|
244
245
|
// Return 0 for success and a libuv error code for failures.
|
|
245
246
|
virtual int DoTryWrite(uv_buf_t** bufs, size_t* count);
|
|
246
|
-
//
|
|
247
|
-
|
|
248
|
-
//
|
|
249
|
-
//
|
|
250
|
-
//
|
|
251
|
-
//
|
|
252
|
-
//
|
|
253
|
-
//
|
|
247
|
+
// Indicates whether this subclass overrides the DoTryWrite
|
|
248
|
+
virtual inline bool HasDoTryWrite() const { return false; }
|
|
249
|
+
// Initiate a write of data.
|
|
250
|
+
// Upon an immediate failure, a libuv error code is returned,
|
|
251
|
+
// w->Done() will never be called and caller should free `bufs`.
|
|
252
|
+
// Otherwise, 0 is returned and w->Done(status) will be called
|
|
253
|
+
// with status set to either
|
|
254
|
+
// (1) 0 after all data are written, or
|
|
255
|
+
// (2) a libuv error code when an error occurs
|
|
256
|
+
// in either case, w->Done() will never be called before DoWrite() returns.
|
|
257
|
+
// When 0 is returned:
|
|
258
|
+
// (1) memory specified by `bufs` and `count` must remain valid until
|
|
259
|
+
// w->Done() gets called.
|
|
260
|
+
// (2) `bufs` might or might not be changed, caller should not rely on this.
|
|
261
|
+
// (3) `bufs` should be freed after w->Done() gets called.
|
|
254
262
|
virtual int DoWrite(WriteWrap* w,
|
|
255
263
|
uv_buf_t* bufs,
|
|
256
264
|
size_t count,
|
|
@@ -270,7 +278,7 @@ class StreamResource {
|
|
|
270
278
|
inline void PushStreamListener(StreamListener* listener);
|
|
271
279
|
// Remove a listener, and, if this was the currently active one,
|
|
272
280
|
// transfer ownership back to the previous listener.
|
|
273
|
-
|
|
281
|
+
void RemoveStreamListener(StreamListener* listener);
|
|
274
282
|
|
|
275
283
|
protected:
|
|
276
284
|
// Call the current listener's OnStreamAlloc() method.
|
|
@@ -307,6 +315,8 @@ class StreamBase : public StreamResource {
|
|
|
307
315
|
kInternalFieldCount
|
|
308
316
|
};
|
|
309
317
|
|
|
318
|
+
static void AddMethods(IsolateData* isolate_data,
|
|
319
|
+
v8::Local<v8::FunctionTemplate> target);
|
|
310
320
|
static void AddMethods(Environment* env,
|
|
311
321
|
v8::Local<v8::FunctionTemplate> target);
|
|
312
322
|
static void RegisterExternalReferences(ExternalReferenceRegistry* registry);
|
|
@@ -327,24 +337,31 @@ class StreamBase : public StreamResource {
|
|
|
327
337
|
// subclasses are also `BaseObject`s.
|
|
328
338
|
Environment* stream_env() const { return env_; }
|
|
329
339
|
|
|
340
|
+
// TODO(RaisinTen): Update the return type to a Maybe, so that we can indicate
|
|
341
|
+
// if there is a pending exception/termination.
|
|
330
342
|
// Shut down the current stream. This request can use an existing
|
|
331
343
|
// ShutdownWrap object (that was created in JS), or a new one will be created.
|
|
332
344
|
// Returns 1 in case of a synchronous completion, 0 in case of asynchronous
|
|
333
345
|
// completion, and a libuv error case in case of synchronous failure.
|
|
334
|
-
|
|
335
|
-
v8::Local<v8::Object> req_wrap_obj = v8::Local<v8::Object>());
|
|
346
|
+
int Shutdown(v8::Local<v8::Object> req_wrap_obj = v8::Local<v8::Object>());
|
|
336
347
|
|
|
348
|
+
// TODO(RaisinTen): Update the return type to a Maybe, so that we can indicate
|
|
349
|
+
// if there is a pending exception/termination.
|
|
337
350
|
// Write data to the current stream. This request can use an existing
|
|
338
351
|
// WriteWrap object (that was created in JS), or a new one will be created.
|
|
339
352
|
// This will first try to write synchronously using `DoTryWrite()`, then
|
|
340
353
|
// asynchronously using `DoWrite()`.
|
|
354
|
+
// Caller can pass `skip_try_write` as true if it has already called
|
|
355
|
+
// `DoTryWrite()` and ends up with a partial write, or it knows that the
|
|
356
|
+
// write is too large to finish synchronously.
|
|
341
357
|
// If the return value indicates a synchronous completion, no callback will
|
|
342
358
|
// be invoked.
|
|
343
|
-
|
|
359
|
+
StreamWriteResult Write(
|
|
344
360
|
uv_buf_t* bufs,
|
|
345
361
|
size_t count,
|
|
346
362
|
uv_stream_t* send_handle = nullptr,
|
|
347
|
-
v8::Local<v8::Object> req_wrap_obj = v8::Local<v8::Object>()
|
|
363
|
+
v8::Local<v8::Object> req_wrap_obj = v8::Local<v8::Object>(),
|
|
364
|
+
bool skip_try_write = false);
|
|
348
365
|
|
|
349
366
|
// These can be overridden by subclasses to get more specific wrap instances.
|
|
350
367
|
// For example, a subclass Foo could create a FooWriteWrap or FooShutdownWrap
|
|
@@ -396,7 +413,14 @@ class StreamBase : public StreamResource {
|
|
|
396
413
|
EmitToJSStreamListener default_listener_;
|
|
397
414
|
|
|
398
415
|
void SetWriteResult(const StreamWriteResult& res);
|
|
399
|
-
static void
|
|
416
|
+
static void AddAccessor(v8::Isolate* isolate,
|
|
417
|
+
v8::Local<v8::Signature> sig,
|
|
418
|
+
enum v8::PropertyAttribute attributes,
|
|
419
|
+
v8::Local<v8::FunctionTemplate> t,
|
|
420
|
+
JSMethodFunction* getter,
|
|
421
|
+
JSMethodFunction* setter,
|
|
422
|
+
v8::Local<v8::String> str);
|
|
423
|
+
static void AddMethod(v8::Isolate* isolate,
|
|
400
424
|
v8::Local<v8::Signature> sig,
|
|
401
425
|
enum v8::PropertyAttribute attributes,
|
|
402
426
|
v8::Local<v8::FunctionTemplate> t,
|
|
@@ -4,17 +4,18 @@
|
|
|
4
4
|
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
5
|
|
|
6
6
|
#include "stream_base.h"
|
|
7
|
-
#include "allocated_buffer.h"
|
|
8
7
|
|
|
9
8
|
namespace node {
|
|
10
9
|
|
|
11
10
|
class StreamPipe : public AsyncWrap {
|
|
12
11
|
public:
|
|
13
|
-
StreamPipe(StreamBase* source, StreamBase* sink, v8::Local<v8::Object> obj);
|
|
14
12
|
~StreamPipe() override;
|
|
15
13
|
|
|
16
14
|
void Unpipe(bool is_in_deletion = false);
|
|
17
15
|
|
|
16
|
+
static v8::Maybe<StreamPipe*> New(StreamBase* source,
|
|
17
|
+
StreamBase* sink,
|
|
18
|
+
v8::Local<v8::Object> obj);
|
|
18
19
|
static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
19
20
|
static void Start(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
20
21
|
static void Unpipe(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
@@ -26,6 +27,8 @@ class StreamPipe : public AsyncWrap {
|
|
|
26
27
|
SET_SELF_SIZE(StreamPipe)
|
|
27
28
|
|
|
28
29
|
private:
|
|
30
|
+
StreamPipe(StreamBase* source, StreamBase* sink, v8::Local<v8::Object> obj);
|
|
31
|
+
|
|
29
32
|
inline StreamBase* source();
|
|
30
33
|
inline StreamBase* sink();
|
|
31
34
|
|
|
@@ -43,7 +46,7 @@ class StreamPipe : public AsyncWrap {
|
|
|
43
46
|
// `OnStreamWantsWrite()` support.
|
|
44
47
|
size_t wanted_data_ = 0;
|
|
45
48
|
|
|
46
|
-
void ProcessData(size_t nread,
|
|
49
|
+
void ProcessData(size_t nread, std::unique_ptr<v8::BackingStore> bs);
|
|
47
50
|
|
|
48
51
|
class ReadableListener : public StreamListener {
|
|
49
52
|
public:
|
|
@@ -68,6 +71,6 @@ class StreamPipe : public AsyncWrap {
|
|
|
68
71
|
|
|
69
72
|
} // namespace node
|
|
70
73
|
|
|
71
|
-
#endif
|
|
74
|
+
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
72
75
|
|
|
73
76
|
#endif // SRC_STREAM_PIPE_H_
|
|
@@ -52,6 +52,7 @@ class LibuvStreamWrap : public HandleWrap, public StreamBase {
|
|
|
52
52
|
// Resource implementation
|
|
53
53
|
int DoShutdown(ShutdownWrap* req_wrap) override;
|
|
54
54
|
int DoTryWrite(uv_buf_t** bufs, size_t* count) override;
|
|
55
|
+
inline bool HasDoTryWrite() const override { return true; }
|
|
55
56
|
int DoWrite(WriteWrap* w,
|
|
56
57
|
uv_buf_t* bufs,
|
|
57
58
|
size_t count,
|
|
@@ -105,9 +106,7 @@ class LibuvStreamWrap : public HandleWrap, public StreamBase {
|
|
|
105
106
|
|
|
106
107
|
// Callbacks for libuv
|
|
107
108
|
void OnUvAlloc(size_t suggested_size, uv_buf_t* buf);
|
|
108
|
-
|
|
109
|
-
// if there is a pending exception/termination.
|
|
110
|
-
void OnUvRead(ssize_t nread, const uv_buf_t* buf);
|
|
109
|
+
v8::Maybe<void> OnUvRead(ssize_t nread, const uv_buf_t* buf);
|
|
111
110
|
|
|
112
111
|
static void AfterUvWrite(uv_write_t* req, int status);
|
|
113
112
|
static void AfterUvShutdown(uv_shutdown_t* req, int status);
|