@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
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
#ifndef SRC_NODE_WORKER_H_
|
|
2
|
-
#define SRC_NODE_WORKER_H_
|
|
3
|
-
|
|
4
|
-
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
|
-
|
|
6
|
-
#include <unordered_map>
|
|
7
|
-
#include "node_messaging.h"
|
|
8
|
-
#include "uv.h"
|
|
9
|
-
|
|
10
|
-
namespace node {
|
|
11
|
-
namespace worker {
|
|
12
|
-
|
|
13
|
-
class WorkerThreadData;
|
|
14
|
-
|
|
15
|
-
enum ResourceLimits {
|
|
16
|
-
kMaxYoungGenerationSizeMb,
|
|
17
|
-
kMaxOldGenerationSizeMb,
|
|
18
|
-
kCodeRangeSizeMb,
|
|
19
|
-
kStackSizeMb,
|
|
20
|
-
kTotalResourceLimitCount
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
// A worker thread, as represented in its parent thread.
|
|
24
|
-
class Worker : public AsyncWrap {
|
|
25
|
-
public:
|
|
26
|
-
Worker(Environment* env,
|
|
27
|
-
v8::Local<v8::Object> wrap,
|
|
28
|
-
const std::string& url,
|
|
29
|
-
std::shared_ptr<PerIsolateOptions> per_isolate_opts,
|
|
30
|
-
std::vector<std::string>&& exec_argv,
|
|
31
|
-
std::shared_ptr<KVStore> env_vars);
|
|
32
|
-
~Worker() override;
|
|
33
|
-
|
|
34
|
-
// Run the worker. This is only called from the worker thread.
|
|
35
|
-
void Run();
|
|
36
|
-
|
|
37
|
-
// Forcibly exit the thread with a specified exit code. This may be called
|
|
38
|
-
// from any thread. `error_code` and `error_message` can be used to create
|
|
39
|
-
// a custom `'error'` event before emitting `'exit'`.
|
|
40
|
-
void Exit(int code,
|
|
41
|
-
const char* error_code = nullptr,
|
|
42
|
-
const char* error_message = nullptr);
|
|
43
|
-
|
|
44
|
-
// Wait for the worker thread to stop (in a blocking manner).
|
|
45
|
-
void JoinThread();
|
|
46
|
-
|
|
47
|
-
template <typename Fn>
|
|
48
|
-
inline bool RequestInterrupt(Fn&& cb);
|
|
49
|
-
|
|
50
|
-
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
51
|
-
SET_MEMORY_INFO_NAME(Worker)
|
|
52
|
-
SET_SELF_SIZE(Worker)
|
|
53
|
-
|
|
54
|
-
bool is_stopped() const;
|
|
55
|
-
|
|
56
|
-
static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
57
|
-
static void CloneParentEnvVars(
|
|
58
|
-
const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
59
|
-
static void SetEnvVars(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
60
|
-
static void StartThread(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
61
|
-
static void StopThread(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
62
|
-
static void Ref(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
63
|
-
static void Unref(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
64
|
-
static void GetResourceLimits(
|
|
65
|
-
const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
66
|
-
v8::Local<v8::Float64Array> GetResourceLimits(v8::Isolate* isolate) const;
|
|
67
|
-
static void TakeHeapSnapshot(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
68
|
-
|
|
69
|
-
private:
|
|
70
|
-
void CreateEnvMessagePort(Environment* env);
|
|
71
|
-
static size_t NearHeapLimit(void* data, size_t current_heap_limit,
|
|
72
|
-
size_t initial_heap_limit);
|
|
73
|
-
|
|
74
|
-
std::shared_ptr<PerIsolateOptions> per_isolate_opts_;
|
|
75
|
-
std::vector<std::string> exec_argv_;
|
|
76
|
-
std::vector<std::string> argv_;
|
|
77
|
-
|
|
78
|
-
MultiIsolatePlatform* platform_;
|
|
79
|
-
v8::Isolate* isolate_ = nullptr;
|
|
80
|
-
uv_thread_t tid_;
|
|
81
|
-
|
|
82
|
-
std::unique_ptr<InspectorParentHandle> inspector_parent_handle_;
|
|
83
|
-
|
|
84
|
-
// This mutex protects access to all variables listed below it.
|
|
85
|
-
mutable Mutex mutex_;
|
|
86
|
-
|
|
87
|
-
bool thread_joined_ = true;
|
|
88
|
-
const char* custom_error_ = nullptr;
|
|
89
|
-
std::string custom_error_str_;
|
|
90
|
-
int exit_code_ = 0;
|
|
91
|
-
ThreadId thread_id_;
|
|
92
|
-
uintptr_t stack_base_ = 0;
|
|
93
|
-
|
|
94
|
-
// Custom resource constraints:
|
|
95
|
-
double resource_limits_[kTotalResourceLimitCount];
|
|
96
|
-
void UpdateResourceConstraints(v8::ResourceConstraints* constraints);
|
|
97
|
-
|
|
98
|
-
// Full size of the thread's stack.
|
|
99
|
-
size_t stack_size_ = 4 * 1024 * 1024;
|
|
100
|
-
// Stack buffer size that is not available to the JS engine.
|
|
101
|
-
static constexpr size_t kStackBufferSize = 192 * 1024;
|
|
102
|
-
|
|
103
|
-
std::unique_ptr<MessagePortData> child_port_data_;
|
|
104
|
-
std::shared_ptr<KVStore> env_vars_;
|
|
105
|
-
|
|
106
|
-
// This is always kept alive because the JS object associated with the Worker
|
|
107
|
-
// instance refers to it via its [kPort] property.
|
|
108
|
-
MessagePort* parent_port_ = nullptr;
|
|
109
|
-
|
|
110
|
-
// A raw flag that is used by creator and worker threads to
|
|
111
|
-
// sync up on pre-mature termination of worker - while in the
|
|
112
|
-
// warmup phase. Once the worker is fully warmed up, use the
|
|
113
|
-
// async handle of the worker's Environment for the same purpose.
|
|
114
|
-
bool stopped_ = true;
|
|
115
|
-
|
|
116
|
-
bool has_ref_ = true;
|
|
117
|
-
|
|
118
|
-
// The real Environment of the worker object. It has a lesser
|
|
119
|
-
// lifespan than the worker object itself - comes to life
|
|
120
|
-
// when the worker thread creates a new Environment, and gets
|
|
121
|
-
// destroyed alongwith the worker thread.
|
|
122
|
-
Environment* env_ = nullptr;
|
|
123
|
-
|
|
124
|
-
friend class WorkerThreadData;
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
template <typename Fn>
|
|
128
|
-
bool Worker::RequestInterrupt(Fn&& cb) {
|
|
129
|
-
Mutex::ScopedLock lock(mutex_);
|
|
130
|
-
if (env_ == nullptr) return false;
|
|
131
|
-
env_->RequestInterrupt(std::move(cb));
|
|
132
|
-
return true;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
} // namespace worker
|
|
136
|
-
} // namespace node
|
|
137
|
-
|
|
138
|
-
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
#endif // SRC_NODE_WORKER_H_
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
// Copyright Joyent, Inc. and other Node contributors.
|
|
2
|
-
//
|
|
3
|
-
// Permission is hereby granted, free of charge, to any person obtaining a
|
|
4
|
-
// copy of this software and associated documentation files (the
|
|
5
|
-
// "Software"), to deal in the Software without restriction, including
|
|
6
|
-
// without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
-
// distribute, sublicense, and/or sell copies of the Software, and to permit
|
|
8
|
-
// persons to whom the Software is furnished to do so, subject to the
|
|
9
|
-
// following conditions:
|
|
10
|
-
//
|
|
11
|
-
// The above copyright notice and this permission notice shall be included
|
|
12
|
-
// in all copies or substantial portions of the Software.
|
|
13
|
-
//
|
|
14
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
15
|
-
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
-
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
|
|
17
|
-
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
18
|
-
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
19
|
-
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
|
20
|
-
// USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
21
|
-
|
|
22
|
-
#ifndef SRC_PIPE_WRAP_H_
|
|
23
|
-
#define SRC_PIPE_WRAP_H_
|
|
24
|
-
|
|
25
|
-
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
26
|
-
|
|
27
|
-
#include "async_wrap.h"
|
|
28
|
-
#include "connection_wrap.h"
|
|
29
|
-
|
|
30
|
-
namespace node {
|
|
31
|
-
|
|
32
|
-
class Environment;
|
|
33
|
-
|
|
34
|
-
class PipeWrap : public ConnectionWrap<PipeWrap, uv_pipe_t> {
|
|
35
|
-
public:
|
|
36
|
-
enum SocketType {
|
|
37
|
-
SOCKET,
|
|
38
|
-
SERVER,
|
|
39
|
-
IPC
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
static v8::MaybeLocal<v8::Object> Instantiate(Environment* env,
|
|
43
|
-
AsyncWrap* parent,
|
|
44
|
-
SocketType type);
|
|
45
|
-
static void Initialize(v8::Local<v8::Object> target,
|
|
46
|
-
v8::Local<v8::Value> unused,
|
|
47
|
-
v8::Local<v8::Context> context,
|
|
48
|
-
void* priv);
|
|
49
|
-
|
|
50
|
-
SET_NO_MEMORY_INFO()
|
|
51
|
-
SET_MEMORY_INFO_NAME(PipeWrap)
|
|
52
|
-
SET_SELF_SIZE(PipeWrap)
|
|
53
|
-
|
|
54
|
-
private:
|
|
55
|
-
PipeWrap(Environment* env,
|
|
56
|
-
v8::Local<v8::Object> object,
|
|
57
|
-
ProviderType provider,
|
|
58
|
-
bool ipc);
|
|
59
|
-
|
|
60
|
-
static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
61
|
-
static void Bind(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
62
|
-
static void Listen(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
63
|
-
static void Connect(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
64
|
-
static void Open(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
65
|
-
|
|
66
|
-
#ifdef _WIN32
|
|
67
|
-
static void SetPendingInstances(
|
|
68
|
-
const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
69
|
-
#endif
|
|
70
|
-
static void Fchmod(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
} // namespace node
|
|
75
|
-
|
|
76
|
-
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
77
|
-
|
|
78
|
-
#endif // SRC_PIPE_WRAP_H_
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
#ifndef SRC_REQ_WRAP_INL_H_
|
|
2
|
-
#define SRC_REQ_WRAP_INL_H_
|
|
3
|
-
|
|
4
|
-
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
|
-
|
|
6
|
-
#include "req_wrap.h"
|
|
7
|
-
#include "async_wrap-inl.h"
|
|
8
|
-
#include "uv.h"
|
|
9
|
-
|
|
10
|
-
namespace node {
|
|
11
|
-
|
|
12
|
-
ReqWrapBase::ReqWrapBase(Environment* env) {
|
|
13
|
-
CHECK(env->has_run_bootstrapping_code());
|
|
14
|
-
env->req_wrap_queue()->PushBack(this);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
template <typename T>
|
|
18
|
-
ReqWrap<T>::ReqWrap(Environment* env,
|
|
19
|
-
v8::Local<v8::Object> object,
|
|
20
|
-
AsyncWrap::ProviderType provider)
|
|
21
|
-
: AsyncWrap(env, object, provider),
|
|
22
|
-
ReqWrapBase(env) {
|
|
23
|
-
Reset();
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
template <typename T>
|
|
27
|
-
ReqWrap<T>::~ReqWrap() {
|
|
28
|
-
CHECK_EQ(false, persistent().IsEmpty());
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
template <typename T>
|
|
32
|
-
void ReqWrap<T>::Dispatched() {
|
|
33
|
-
req_.data = this;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
template <typename T>
|
|
37
|
-
void ReqWrap<T>::Reset() {
|
|
38
|
-
original_callback_ = nullptr;
|
|
39
|
-
req_.data = nullptr;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
template <typename T>
|
|
43
|
-
ReqWrap<T>* ReqWrap<T>::from_req(T* req) {
|
|
44
|
-
return ContainerOf(&ReqWrap<T>::req_, req);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
template <typename T>
|
|
48
|
-
void ReqWrap<T>::Cancel() {
|
|
49
|
-
if (req_.data == this) // Only cancel if already dispatched.
|
|
50
|
-
uv_cancel(reinterpret_cast<uv_req_t*>(&req_));
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
template <typename T>
|
|
54
|
-
AsyncWrap* ReqWrap<T>::GetAsyncWrap() {
|
|
55
|
-
return this;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
// Below is dark template magic designed to invoke libuv functions that
|
|
59
|
-
// initialize uv_req_t instances in a unified fashion, to allow easier
|
|
60
|
-
// tracking of active/inactive requests.
|
|
61
|
-
|
|
62
|
-
// Invoke a generic libuv function that initializes uv_req_t instances.
|
|
63
|
-
// This is, unfortunately, necessary since they come in three different
|
|
64
|
-
// variants that can not all be invoked in the same way:
|
|
65
|
-
// - int uv_foo(uv_loop_t* loop, uv_req_t* request, ...);
|
|
66
|
-
// - int uv_foo(uv_req_t* request, ...);
|
|
67
|
-
// - void uv_foo(uv_req_t* request, ...);
|
|
68
|
-
template <typename ReqT, typename T>
|
|
69
|
-
struct CallLibuvFunction;
|
|
70
|
-
|
|
71
|
-
// Detect `int uv_foo(uv_loop_t* loop, uv_req_t* request, ...);`.
|
|
72
|
-
template <typename ReqT, typename... Args>
|
|
73
|
-
struct CallLibuvFunction<ReqT, int(*)(uv_loop_t*, ReqT*, Args...)> {
|
|
74
|
-
using T = int(*)(uv_loop_t*, ReqT*, Args...);
|
|
75
|
-
template <typename... PassedArgs>
|
|
76
|
-
static int Call(T fn, uv_loop_t* loop, ReqT* req, PassedArgs... args) {
|
|
77
|
-
return fn(loop, req, args...);
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
// Detect `int uv_foo(uv_req_t* request, ...);`.
|
|
82
|
-
template <typename ReqT, typename... Args>
|
|
83
|
-
struct CallLibuvFunction<ReqT, int(*)(ReqT*, Args...)> {
|
|
84
|
-
using T = int(*)(ReqT*, Args...);
|
|
85
|
-
template <typename... PassedArgs>
|
|
86
|
-
static int Call(T fn, uv_loop_t* loop, ReqT* req, PassedArgs... args) {
|
|
87
|
-
return fn(req, args...);
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
// Detect `void uv_foo(uv_req_t* request, ...);`.
|
|
92
|
-
template <typename ReqT, typename... Args>
|
|
93
|
-
struct CallLibuvFunction<ReqT, void(*)(ReqT*, Args...)> {
|
|
94
|
-
using T = void(*)(ReqT*, Args...);
|
|
95
|
-
template <typename... PassedArgs>
|
|
96
|
-
static int Call(T fn, uv_loop_t* loop, ReqT* req, PassedArgs... args) {
|
|
97
|
-
fn(req, args...);
|
|
98
|
-
return 0;
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
// This is slightly darker magic: This template is 'applied' to each parameter
|
|
103
|
-
// passed to the libuv function. If the parameter type (aka `T`) is a
|
|
104
|
-
// function type, it is assumed that this it is the request callback, and a
|
|
105
|
-
// wrapper that calls the original callback is created.
|
|
106
|
-
// If not, the parameter is passed through verbatim.
|
|
107
|
-
template <typename ReqT, typename T>
|
|
108
|
-
struct MakeLibuvRequestCallback {
|
|
109
|
-
static T For(ReqWrap<ReqT>* req_wrap, T v) {
|
|
110
|
-
static_assert(!is_callable<T>::value,
|
|
111
|
-
"MakeLibuvRequestCallback missed a callback");
|
|
112
|
-
return v;
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
// Match the `void callback(uv_req_t*, ...);` signature that all libuv
|
|
117
|
-
// callbacks use.
|
|
118
|
-
template <typename ReqT, typename... Args>
|
|
119
|
-
struct MakeLibuvRequestCallback<ReqT, void(*)(ReqT*, Args...)> {
|
|
120
|
-
using F = void(*)(ReqT* req, Args... args);
|
|
121
|
-
|
|
122
|
-
static void Wrapper(ReqT* req, Args... args) {
|
|
123
|
-
ReqWrap<ReqT>* req_wrap = ReqWrap<ReqT>::from_req(req);
|
|
124
|
-
req_wrap->env()->DecreaseWaitingRequestCounter();
|
|
125
|
-
F original_callback = reinterpret_cast<F>(req_wrap->original_callback_);
|
|
126
|
-
original_callback(req, args...);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
static F For(ReqWrap<ReqT>* req_wrap, F v) {
|
|
130
|
-
CHECK_NULL(req_wrap->original_callback_);
|
|
131
|
-
req_wrap->original_callback_ =
|
|
132
|
-
reinterpret_cast<typename ReqWrap<ReqT>::callback_t>(v);
|
|
133
|
-
return Wrapper;
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
template <typename T>
|
|
138
|
-
template <typename LibuvFunction, typename... Args>
|
|
139
|
-
int ReqWrap<T>::Dispatch(LibuvFunction fn, Args... args) {
|
|
140
|
-
Dispatched();
|
|
141
|
-
|
|
142
|
-
// This expands as:
|
|
143
|
-
//
|
|
144
|
-
// int err = fn(env()->event_loop(), req(), arg1, arg2, Wrapper, arg3, ...)
|
|
145
|
-
// ^ ^ ^
|
|
146
|
-
// | | |
|
|
147
|
-
// \-- Omitted if `fn` has no | |
|
|
148
|
-
// first `uv_loop_t*` argument | |
|
|
149
|
-
// | |
|
|
150
|
-
// A function callback whose first argument | |
|
|
151
|
-
// matches the libuv request type is replaced ---/ |
|
|
152
|
-
// by the `Wrapper` method defined above |
|
|
153
|
-
// |
|
|
154
|
-
// Other (non-function) arguments are passed -----/
|
|
155
|
-
// through verbatim
|
|
156
|
-
int err = CallLibuvFunction<T, LibuvFunction>::Call(
|
|
157
|
-
fn,
|
|
158
|
-
env()->event_loop(),
|
|
159
|
-
req(),
|
|
160
|
-
MakeLibuvRequestCallback<T, Args>::For(this, args)...);
|
|
161
|
-
if (err >= 0)
|
|
162
|
-
env()->IncreaseWaitingRequestCounter();
|
|
163
|
-
return err;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
} // namespace node
|
|
167
|
-
|
|
168
|
-
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
169
|
-
|
|
170
|
-
#endif // SRC_REQ_WRAP_INL_H_
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
#ifndef SRC_REQ_WRAP_H_
|
|
2
|
-
#define SRC_REQ_WRAP_H_
|
|
3
|
-
|
|
4
|
-
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
|
-
|
|
6
|
-
#include "async_wrap.h"
|
|
7
|
-
#include "util.h"
|
|
8
|
-
#include "v8.h"
|
|
9
|
-
|
|
10
|
-
namespace node {
|
|
11
|
-
|
|
12
|
-
class Environment;
|
|
13
|
-
|
|
14
|
-
class ReqWrapBase {
|
|
15
|
-
public:
|
|
16
|
-
explicit inline ReqWrapBase(Environment* env);
|
|
17
|
-
|
|
18
|
-
virtual ~ReqWrapBase() = default;
|
|
19
|
-
|
|
20
|
-
virtual void Cancel() = 0;
|
|
21
|
-
virtual AsyncWrap* GetAsyncWrap() = 0;
|
|
22
|
-
|
|
23
|
-
private:
|
|
24
|
-
friend int GenDebugSymbols();
|
|
25
|
-
friend class Environment;
|
|
26
|
-
|
|
27
|
-
ListNode<ReqWrapBase> req_wrap_queue_;
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
template <typename T>
|
|
31
|
-
class ReqWrap : public AsyncWrap, public ReqWrapBase {
|
|
32
|
-
public:
|
|
33
|
-
inline ReqWrap(Environment* env,
|
|
34
|
-
v8::Local<v8::Object> object,
|
|
35
|
-
AsyncWrap::ProviderType provider);
|
|
36
|
-
inline ~ReqWrap() override;
|
|
37
|
-
// Call this after the req has been dispatched, if that did not already
|
|
38
|
-
// happen by using Dispatch().
|
|
39
|
-
inline void Dispatched();
|
|
40
|
-
// Call this after a request has finished, if re-using this object is planned.
|
|
41
|
-
inline void Reset();
|
|
42
|
-
T* req() { return &req_; }
|
|
43
|
-
inline void Cancel() final;
|
|
44
|
-
inline AsyncWrap* GetAsyncWrap() override;
|
|
45
|
-
|
|
46
|
-
static ReqWrap* from_req(T* req);
|
|
47
|
-
|
|
48
|
-
template <typename LibuvFunction, typename... Args>
|
|
49
|
-
inline int Dispatch(LibuvFunction fn, Args... args);
|
|
50
|
-
|
|
51
|
-
private:
|
|
52
|
-
friend int GenDebugSymbols();
|
|
53
|
-
|
|
54
|
-
// Adding `friend struct MakeLibuvRequestCallback` is not enough anymore
|
|
55
|
-
// for some reason. Consider this private.
|
|
56
|
-
public:
|
|
57
|
-
typedef void (*callback_t)();
|
|
58
|
-
callback_t original_callback_ = nullptr;
|
|
59
|
-
|
|
60
|
-
protected:
|
|
61
|
-
// req_wrap_queue_ needs to be at a fixed offset from the start of the class
|
|
62
|
-
// because it is used by ContainerOf to calculate the address of the embedding
|
|
63
|
-
// ReqWrap. ContainerOf compiles down to simple, fixed pointer arithmetic. It
|
|
64
|
-
// is also used by src/node_postmortem_metadata.cc to calculate offsets and
|
|
65
|
-
// generate debug symbols for ReqWrap, which assumes that the position of
|
|
66
|
-
// members in memory are predictable. sizeof(req_) depends on the type of T,
|
|
67
|
-
// so req_wrap_queue_ would no longer be at a fixed offset if it came after
|
|
68
|
-
// req_. For more information please refer to
|
|
69
|
-
// `doc/guides/node-postmortem-support.md`
|
|
70
|
-
T req_;
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
} // namespace node
|
|
74
|
-
|
|
75
|
-
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
76
|
-
|
|
77
|
-
#endif // SRC_REQ_WRAP_H_
|