@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
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
#ifndef SRC_NODE_WASI_H_
|
|
2
|
+
#define SRC_NODE_WASI_H_
|
|
3
|
+
|
|
4
|
+
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
|
+
|
|
6
|
+
#include "base_object.h"
|
|
7
|
+
#include "node_mem.h"
|
|
8
|
+
#include "uvwasi.h"
|
|
9
|
+
#include "v8-fast-api-calls.h"
|
|
10
|
+
|
|
11
|
+
namespace node {
|
|
12
|
+
namespace wasi {
|
|
13
|
+
|
|
14
|
+
struct WasmMemory {
|
|
15
|
+
char* data;
|
|
16
|
+
size_t size;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
class WASI : public BaseObject,
|
|
20
|
+
public mem::NgLibMemoryManager<WASI, uvwasi_mem_t> {
|
|
21
|
+
public:
|
|
22
|
+
WASI(Environment* env,
|
|
23
|
+
v8::Local<v8::Object> object,
|
|
24
|
+
uvwasi_options_t* options);
|
|
25
|
+
static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
26
|
+
|
|
27
|
+
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
28
|
+
SET_MEMORY_INFO_NAME(WASI)
|
|
29
|
+
SET_SELF_SIZE(WASI)
|
|
30
|
+
|
|
31
|
+
static uint32_t ArgsGet(WASI&, WasmMemory, uint32_t, uint32_t);
|
|
32
|
+
static uint32_t ArgsSizesGet(WASI&, WasmMemory, uint32_t, uint32_t);
|
|
33
|
+
static uint32_t ClockResGet(WASI&, WasmMemory, uint32_t, uint32_t);
|
|
34
|
+
static uint32_t ClockTimeGet(WASI&, WasmMemory, uint32_t, uint64_t, uint32_t);
|
|
35
|
+
static uint32_t EnvironGet(WASI&, WasmMemory, uint32_t, uint32_t);
|
|
36
|
+
static uint32_t EnvironSizesGet(WASI&, WasmMemory, uint32_t, uint32_t);
|
|
37
|
+
static uint32_t FdAdvise(
|
|
38
|
+
WASI&, WasmMemory, uint32_t, uint64_t, uint64_t, uint32_t);
|
|
39
|
+
static uint32_t FdAllocate(WASI&, WasmMemory, uint32_t, uint64_t, uint64_t);
|
|
40
|
+
static uint32_t FdClose(WASI&, WasmMemory, uint32_t);
|
|
41
|
+
static uint32_t FdDatasync(WASI&, WasmMemory, uint32_t);
|
|
42
|
+
static uint32_t FdFdstatGet(WASI&, WasmMemory, uint32_t, uint32_t);
|
|
43
|
+
static uint32_t FdFdstatSetFlags(WASI&, WasmMemory, uint32_t, uint32_t);
|
|
44
|
+
static uint32_t FdFdstatSetRights(
|
|
45
|
+
WASI&, WasmMemory, uint32_t, uint64_t, uint64_t);
|
|
46
|
+
static uint32_t FdFilestatGet(WASI&, WasmMemory, uint32_t, uint32_t);
|
|
47
|
+
static uint32_t FdFilestatSetSize(WASI&, WasmMemory, uint32_t, uint64_t);
|
|
48
|
+
static uint32_t FdFilestatSetTimes(
|
|
49
|
+
WASI&, WasmMemory, uint32_t, uint64_t, uint64_t, uint32_t);
|
|
50
|
+
static uint32_t FdPread(WASI&,
|
|
51
|
+
WasmMemory memory,
|
|
52
|
+
uint32_t,
|
|
53
|
+
uint32_t,
|
|
54
|
+
uint32_t,
|
|
55
|
+
uint64_t,
|
|
56
|
+
uint32_t);
|
|
57
|
+
static uint32_t FdPrestatGet(WASI&, WasmMemory, uint32_t, uint32_t);
|
|
58
|
+
static uint32_t FdPrestatDirName(
|
|
59
|
+
WASI&, WasmMemory, uint32_t, uint32_t, uint32_t);
|
|
60
|
+
static uint32_t FdPwrite(
|
|
61
|
+
WASI&, WasmMemory, uint32_t, uint32_t, uint32_t, uint64_t, uint32_t);
|
|
62
|
+
static uint32_t FdRead(
|
|
63
|
+
WASI&, WasmMemory, uint32_t, uint32_t, uint32_t, uint32_t);
|
|
64
|
+
static uint32_t FdReaddir(
|
|
65
|
+
WASI&, WasmMemory, uint32_t, uint32_t, uint32_t, uint64_t, uint32_t);
|
|
66
|
+
static uint32_t FdRenumber(WASI&, WasmMemory, uint32_t, uint32_t);
|
|
67
|
+
static uint32_t FdSeek(
|
|
68
|
+
WASI&, WasmMemory, uint32_t, int64_t, uint32_t, uint32_t);
|
|
69
|
+
static uint32_t FdSync(WASI&, WasmMemory, uint32_t);
|
|
70
|
+
static uint32_t FdTell(WASI&, WasmMemory, uint32_t, uint32_t);
|
|
71
|
+
static uint32_t FdWrite(
|
|
72
|
+
WASI&, WasmMemory, uint32_t, uint32_t, uint32_t, uint32_t);
|
|
73
|
+
static uint32_t PathCreateDirectory(
|
|
74
|
+
WASI&, WasmMemory, uint32_t, uint32_t, uint32_t);
|
|
75
|
+
static uint32_t PathFilestatGet(
|
|
76
|
+
WASI&, WasmMemory, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
|
|
77
|
+
static uint32_t PathFilestatSetTimes(WASI&,
|
|
78
|
+
WasmMemory,
|
|
79
|
+
uint32_t,
|
|
80
|
+
uint32_t,
|
|
81
|
+
uint32_t,
|
|
82
|
+
uint32_t,
|
|
83
|
+
uint64_t,
|
|
84
|
+
uint64_t,
|
|
85
|
+
uint32_t);
|
|
86
|
+
static uint32_t PathLink(WASI&,
|
|
87
|
+
WasmMemory,
|
|
88
|
+
uint32_t,
|
|
89
|
+
uint32_t,
|
|
90
|
+
uint32_t,
|
|
91
|
+
uint32_t,
|
|
92
|
+
uint32_t,
|
|
93
|
+
uint32_t,
|
|
94
|
+
uint32_t);
|
|
95
|
+
static uint32_t PathOpen(WASI&,
|
|
96
|
+
WasmMemory,
|
|
97
|
+
uint32_t,
|
|
98
|
+
uint32_t,
|
|
99
|
+
uint32_t,
|
|
100
|
+
uint32_t,
|
|
101
|
+
uint32_t,
|
|
102
|
+
uint64_t,
|
|
103
|
+
uint64_t,
|
|
104
|
+
uint32_t,
|
|
105
|
+
uint32_t);
|
|
106
|
+
static uint32_t PathReadlink(WASI&,
|
|
107
|
+
WasmMemory,
|
|
108
|
+
uint32_t,
|
|
109
|
+
uint32_t,
|
|
110
|
+
uint32_t,
|
|
111
|
+
uint32_t,
|
|
112
|
+
uint32_t,
|
|
113
|
+
uint32_t);
|
|
114
|
+
static uint32_t PathRemoveDirectory(
|
|
115
|
+
WASI&, WasmMemory, uint32_t, uint32_t, uint32_t);
|
|
116
|
+
static uint32_t PathRename(WASI&,
|
|
117
|
+
WasmMemory,
|
|
118
|
+
uint32_t,
|
|
119
|
+
uint32_t,
|
|
120
|
+
uint32_t,
|
|
121
|
+
uint32_t,
|
|
122
|
+
uint32_t,
|
|
123
|
+
uint32_t);
|
|
124
|
+
static uint32_t PathSymlink(
|
|
125
|
+
WASI&, WasmMemory, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
|
|
126
|
+
static uint32_t PathUnlinkFile(
|
|
127
|
+
WASI&, WasmMemory, uint32_t, uint32_t, uint32_t);
|
|
128
|
+
static uint32_t PollOneoff(
|
|
129
|
+
WASI&, WasmMemory, uint32_t, uint32_t, uint32_t, uint32_t);
|
|
130
|
+
static void ProcExit(WASI&, WasmMemory, uint32_t);
|
|
131
|
+
static uint32_t ProcRaise(WASI&, WasmMemory, uint32_t);
|
|
132
|
+
static uint32_t RandomGet(WASI&, WasmMemory, uint32_t, uint32_t);
|
|
133
|
+
static uint32_t SchedYield(WASI&, WasmMemory);
|
|
134
|
+
static uint32_t SockAccept(WASI&, WasmMemory, uint32_t, uint32_t, uint32_t);
|
|
135
|
+
static uint32_t SockRecv(WASI&,
|
|
136
|
+
WasmMemory,
|
|
137
|
+
uint32_t,
|
|
138
|
+
uint32_t,
|
|
139
|
+
uint32_t,
|
|
140
|
+
uint32_t,
|
|
141
|
+
uint32_t,
|
|
142
|
+
uint32_t);
|
|
143
|
+
static uint32_t SockSend(
|
|
144
|
+
WASI&, WasmMemory, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
|
|
145
|
+
static uint32_t SockShutdown(WASI&, WasmMemory, uint32_t, uint32_t);
|
|
146
|
+
|
|
147
|
+
static void _SetMemory(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
148
|
+
|
|
149
|
+
// Implementation for mem::NgLibMemoryManager
|
|
150
|
+
void CheckAllocatedSize(size_t previous_size) const;
|
|
151
|
+
void IncreaseAllocatedSize(size_t size);
|
|
152
|
+
void DecreaseAllocatedSize(size_t size);
|
|
153
|
+
|
|
154
|
+
// <typename FT, FT F> as a C++14 desugaring of `<auto F>`
|
|
155
|
+
template <typename FT, FT F, typename R, typename... Args>
|
|
156
|
+
class WasiFunction {
|
|
157
|
+
public:
|
|
158
|
+
static void SetFunction(Environment*,
|
|
159
|
+
const char*,
|
|
160
|
+
v8::Local<v8::FunctionTemplate>);
|
|
161
|
+
|
|
162
|
+
private:
|
|
163
|
+
static R FastCallback(v8::Local<v8::Object> unused,
|
|
164
|
+
v8::Local<v8::Object> receiver,
|
|
165
|
+
Args...,
|
|
166
|
+
v8::FastApiCallbackOptions&);
|
|
167
|
+
|
|
168
|
+
static void SlowCallback(const v8::FunctionCallbackInfo<v8::Value>&);
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
private:
|
|
172
|
+
~WASI() override;
|
|
173
|
+
uvwasi_t uvw_;
|
|
174
|
+
v8::Global<v8::WasmMemoryObject> memory_;
|
|
175
|
+
uvwasi_mem_t alloc_info_;
|
|
176
|
+
size_t current_uvwasi_memory_ = 0;
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
} // namespace wasi
|
|
181
|
+
} // namespace node
|
|
182
|
+
|
|
183
|
+
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
184
|
+
|
|
185
|
+
#endif // SRC_NODE_WASI_H_
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
#ifndef SRC_NODE_WASM_WEB_API_H_
|
|
2
|
+
#define SRC_NODE_WASM_WEB_API_H_
|
|
3
|
+
|
|
4
|
+
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
|
+
|
|
6
|
+
#include "base_object-inl.h"
|
|
7
|
+
#include "v8.h"
|
|
8
|
+
|
|
9
|
+
namespace node {
|
|
10
|
+
namespace wasm_web_api {
|
|
11
|
+
|
|
12
|
+
// Wrapper for interacting with a v8::WasmStreaming instance from JavaScript.
|
|
13
|
+
class WasmStreamingObject final : public BaseObject {
|
|
14
|
+
public:
|
|
15
|
+
static v8::Local<v8::Function> Initialize(Environment* env);
|
|
16
|
+
|
|
17
|
+
static void RegisterExternalReferences(ExternalReferenceRegistry* registry);
|
|
18
|
+
|
|
19
|
+
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
20
|
+
SET_MEMORY_INFO_NAME(WasmStreamingObject)
|
|
21
|
+
SET_SELF_SIZE(WasmStreamingObject)
|
|
22
|
+
|
|
23
|
+
static v8::MaybeLocal<v8::Object> Create(
|
|
24
|
+
Environment* env, std::shared_ptr<v8::WasmStreaming> streaming);
|
|
25
|
+
|
|
26
|
+
private:
|
|
27
|
+
WasmStreamingObject(Environment* env, v8::Local<v8::Object> object)
|
|
28
|
+
: BaseObject(env, object) {
|
|
29
|
+
MakeWeak();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
~WasmStreamingObject() override {}
|
|
33
|
+
|
|
34
|
+
private:
|
|
35
|
+
static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
36
|
+
static void SetURL(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
37
|
+
static void Push(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
38
|
+
static void Finish(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
39
|
+
static void Abort(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
40
|
+
|
|
41
|
+
std::shared_ptr<v8::WasmStreaming> streaming_;
|
|
42
|
+
size_t wasm_size_ = 0;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
// This is a v8::WasmStreamingCallback implementation that must be passed to
|
|
46
|
+
// v8::Isolate::SetWasmStreamingCallback when setting up the isolate in order to
|
|
47
|
+
// enable the WebAssembly.(compile|instantiate)Streaming APIs.
|
|
48
|
+
void StartStreamingCompilation(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
49
|
+
|
|
50
|
+
} // namespace wasm_web_api
|
|
51
|
+
} // namespace node
|
|
52
|
+
|
|
53
|
+
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
54
|
+
|
|
55
|
+
#endif // SRC_NODE_WASM_WEB_API_H_
|
|
@@ -110,6 +110,7 @@ class TraceSigintWatchdog : public HandleWrap, public SigintWatchdogBase {
|
|
|
110
110
|
class SigintWatchdogHelper {
|
|
111
111
|
public:
|
|
112
112
|
static SigintWatchdogHelper* GetInstance() { return &instance; }
|
|
113
|
+
static Mutex& GetInstanceActionMutex() { return instance_action_mutex_; }
|
|
113
114
|
void Register(SigintWatchdogBase* watchdog);
|
|
114
115
|
void Unregister(SigintWatchdogBase* watchdog);
|
|
115
116
|
bool HasPendingSignal();
|
|
@@ -123,6 +124,7 @@ class SigintWatchdogHelper {
|
|
|
123
124
|
|
|
124
125
|
static bool InformWatchdogsAboutSignal();
|
|
125
126
|
static SigintWatchdogHelper instance;
|
|
127
|
+
static Mutex instance_action_mutex_;
|
|
126
128
|
|
|
127
129
|
int start_stop_count_;
|
|
128
130
|
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
#ifndef SRC_NODE_WEBSTORAGE_H_
|
|
2
|
+
#define SRC_NODE_WEBSTORAGE_H_
|
|
3
|
+
|
|
4
|
+
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
|
+
|
|
6
|
+
#include "base_object.h"
|
|
7
|
+
#include "node_mem.h"
|
|
8
|
+
#include "sqlite3.h"
|
|
9
|
+
#include "util.h"
|
|
10
|
+
|
|
11
|
+
namespace node {
|
|
12
|
+
namespace webstorage {
|
|
13
|
+
|
|
14
|
+
struct conn_deleter {
|
|
15
|
+
void operator()(sqlite3* conn) const noexcept {
|
|
16
|
+
CHECK_EQ(sqlite3_close(conn), SQLITE_OK);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
using conn_unique_ptr = std::unique_ptr<sqlite3, conn_deleter>;
|
|
20
|
+
|
|
21
|
+
struct stmt_deleter {
|
|
22
|
+
void operator()(sqlite3_stmt* stmt) const noexcept { sqlite3_finalize(stmt); }
|
|
23
|
+
};
|
|
24
|
+
using stmt_unique_ptr = std::unique_ptr<sqlite3_stmt, stmt_deleter>;
|
|
25
|
+
|
|
26
|
+
static constexpr std::string_view kInMemoryPath = ":memory:";
|
|
27
|
+
|
|
28
|
+
class Storage : public BaseObject {
|
|
29
|
+
public:
|
|
30
|
+
Storage(Environment* env,
|
|
31
|
+
v8::Local<v8::Object> object,
|
|
32
|
+
std::string_view location);
|
|
33
|
+
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
34
|
+
static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
35
|
+
|
|
36
|
+
v8::Maybe<void> Clear();
|
|
37
|
+
v8::MaybeLocal<v8::Array> Enumerate();
|
|
38
|
+
v8::MaybeLocal<v8::Value> Length();
|
|
39
|
+
v8::MaybeLocal<v8::Value> Load(v8::Local<v8::Name> key);
|
|
40
|
+
v8::MaybeLocal<v8::Value> LoadKey(const int index);
|
|
41
|
+
v8::Maybe<void> Remove(v8::Local<v8::Name> key);
|
|
42
|
+
v8::Maybe<void> Store(v8::Local<v8::Name> key, v8::Local<v8::Value> value);
|
|
43
|
+
|
|
44
|
+
SET_MEMORY_INFO_NAME(Storage)
|
|
45
|
+
SET_SELF_SIZE(Storage)
|
|
46
|
+
|
|
47
|
+
private:
|
|
48
|
+
v8::Maybe<void> Open();
|
|
49
|
+
|
|
50
|
+
~Storage() override;
|
|
51
|
+
std::string location_;
|
|
52
|
+
conn_unique_ptr db_;
|
|
53
|
+
v8::Global<v8::Map> symbols_;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
} // namespace webstorage
|
|
57
|
+
} // namespace node
|
|
58
|
+
|
|
59
|
+
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
60
|
+
#endif // SRC_NODE_WEBSTORAGE_H_
|
|
@@ -3,11 +3,15 @@
|
|
|
3
3
|
|
|
4
4
|
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
5
|
|
|
6
|
+
#include <optional>
|
|
6
7
|
#include <unordered_map>
|
|
8
|
+
#include "node_exit_code.h"
|
|
7
9
|
#include "node_messaging.h"
|
|
8
10
|
#include "uv.h"
|
|
9
11
|
|
|
10
12
|
namespace node {
|
|
13
|
+
|
|
14
|
+
struct SnapshotData;
|
|
11
15
|
namespace worker {
|
|
12
16
|
|
|
13
17
|
class WorkerThreadData;
|
|
@@ -26,9 +30,12 @@ class Worker : public AsyncWrap {
|
|
|
26
30
|
Worker(Environment* env,
|
|
27
31
|
v8::Local<v8::Object> wrap,
|
|
28
32
|
const std::string& url,
|
|
33
|
+
const std::string& name,
|
|
29
34
|
std::shared_ptr<PerIsolateOptions> per_isolate_opts,
|
|
30
35
|
std::vector<std::string>&& exec_argv,
|
|
31
|
-
std::shared_ptr<KVStore> env_vars
|
|
36
|
+
std::shared_ptr<KVStore> env_vars,
|
|
37
|
+
const SnapshotData* snapshot_data,
|
|
38
|
+
const bool is_internal);
|
|
32
39
|
~Worker() override;
|
|
33
40
|
|
|
34
41
|
// Run the worker. This is only called from the worker thread.
|
|
@@ -37,7 +44,7 @@ class Worker : public AsyncWrap {
|
|
|
37
44
|
// Forcibly exit the thread with a specified exit code. This may be called
|
|
38
45
|
// from any thread. `error_code` and `error_message` can be used to create
|
|
39
46
|
// a custom `'error'` event before emitting `'exit'`.
|
|
40
|
-
void Exit(
|
|
47
|
+
void Exit(ExitCode code,
|
|
41
48
|
const char* error_code = nullptr,
|
|
42
49
|
const char* error_message = nullptr);
|
|
43
50
|
|
|
@@ -47,12 +54,15 @@ class Worker : public AsyncWrap {
|
|
|
47
54
|
template <typename Fn>
|
|
48
55
|
inline bool RequestInterrupt(Fn&& cb);
|
|
49
56
|
|
|
50
|
-
|
|
57
|
+
SET_NO_MEMORY_INFO()
|
|
51
58
|
SET_MEMORY_INFO_NAME(Worker)
|
|
52
59
|
SET_SELF_SIZE(Worker)
|
|
53
60
|
bool IsNotIndicativeOfMemoryLeakAtExit() const override;
|
|
54
61
|
|
|
55
62
|
bool is_stopped() const;
|
|
63
|
+
const SnapshotData* snapshot_data() const { return snapshot_data_; }
|
|
64
|
+
bool is_internal() const { return is_internal_; }
|
|
65
|
+
std::string_view name() const { return name_; }
|
|
56
66
|
|
|
57
67
|
static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
58
68
|
static void CloneParentEnvVars(
|
|
@@ -60,6 +70,7 @@ class Worker : public AsyncWrap {
|
|
|
60
70
|
static void SetEnvVars(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
61
71
|
static void StartThread(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
62
72
|
static void StopThread(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
73
|
+
static void HasRef(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
63
74
|
static void Ref(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
64
75
|
static void Unref(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
65
76
|
static void GetResourceLimits(
|
|
@@ -68,6 +79,9 @@ class Worker : public AsyncWrap {
|
|
|
68
79
|
static void TakeHeapSnapshot(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
69
80
|
static void LoopIdleTime(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
70
81
|
static void LoopStartTime(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
82
|
+
static void GetHeapStatistics(
|
|
83
|
+
const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
84
|
+
static void CpuUsage(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
71
85
|
|
|
72
86
|
private:
|
|
73
87
|
bool CreateEnvMessagePort(Environment* env);
|
|
@@ -80,19 +94,20 @@ class Worker : public AsyncWrap {
|
|
|
80
94
|
|
|
81
95
|
MultiIsolatePlatform* platform_;
|
|
82
96
|
v8::Isolate* isolate_ = nullptr;
|
|
83
|
-
uv_thread_t tid_;
|
|
97
|
+
std::optional<uv_thread_t> tid_; // Set while the thread is running
|
|
84
98
|
|
|
85
99
|
std::unique_ptr<InspectorParentHandle> inspector_parent_handle_;
|
|
86
100
|
|
|
87
101
|
// This mutex protects access to all variables listed below it.
|
|
88
102
|
mutable Mutex mutex_;
|
|
89
103
|
|
|
90
|
-
bool thread_joined_ = true;
|
|
91
104
|
const char* custom_error_ = nullptr;
|
|
92
105
|
std::string custom_error_str_;
|
|
93
|
-
|
|
106
|
+
ExitCode exit_code_ = ExitCode::kNoFailure;
|
|
94
107
|
ThreadId thread_id_;
|
|
95
108
|
uintptr_t stack_base_ = 0;
|
|
109
|
+
// Optional name used for debugging in inspector and trace events.
|
|
110
|
+
std::string name_;
|
|
96
111
|
|
|
97
112
|
// Custom resource constraints:
|
|
98
113
|
double resource_limits_[kTotalResourceLimitCount];
|
|
@@ -105,10 +120,7 @@ class Worker : public AsyncWrap {
|
|
|
105
120
|
|
|
106
121
|
std::unique_ptr<MessagePortData> child_port_data_;
|
|
107
122
|
std::shared_ptr<KVStore> env_vars_;
|
|
108
|
-
|
|
109
|
-
// This is always kept alive because the JS object associated with the Worker
|
|
110
|
-
// instance refers to it via its [kPort] property.
|
|
111
|
-
MessagePort* parent_port_ = nullptr;
|
|
123
|
+
EmbedderPreloadCallback embedder_preload_;
|
|
112
124
|
|
|
113
125
|
// A raw flag that is used by creator and worker threads to
|
|
114
126
|
// sync up on pre-mature termination of worker - while in the
|
|
@@ -125,6 +137,8 @@ class Worker : public AsyncWrap {
|
|
|
125
137
|
// destroyed alongwith the worker thread.
|
|
126
138
|
Environment* env_ = nullptr;
|
|
127
139
|
|
|
140
|
+
const SnapshotData* snapshot_data_ = nullptr;
|
|
141
|
+
const bool is_internal_;
|
|
128
142
|
friend class WorkerThreadData;
|
|
129
143
|
};
|
|
130
144
|
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
4
|
+
#if HAVE_OPENSSL && NODE_OPENSSL_HAS_QUIC
|
|
5
|
+
|
|
6
|
+
#include <base_object.h>
|
|
7
|
+
#include <env.h>
|
|
8
|
+
#include <ngtcp2/ngtcp2.h>
|
|
9
|
+
#include <node_external_reference.h>
|
|
10
|
+
#include <node_sockaddr.h>
|
|
11
|
+
#include <req_wrap.h>
|
|
12
|
+
#include <uv.h>
|
|
13
|
+
#include <v8.h>
|
|
14
|
+
#include <string>
|
|
15
|
+
#include "bindingdata.h"
|
|
16
|
+
#include "cid.h"
|
|
17
|
+
#include "data.h"
|
|
18
|
+
#include "defs.h"
|
|
19
|
+
#include "tokens.h"
|
|
20
|
+
|
|
21
|
+
namespace node::quic {
|
|
22
|
+
|
|
23
|
+
struct PathDescriptor {
|
|
24
|
+
uint32_t version;
|
|
25
|
+
const CID& dcid;
|
|
26
|
+
const CID& scid;
|
|
27
|
+
const SocketAddress& local_address;
|
|
28
|
+
const SocketAddress& remote_address;
|
|
29
|
+
std::string ToString() const;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
// A Packet encapsulates serialized outbound QUIC data.
|
|
33
|
+
// Packets must never be larger than the path MTU. The
|
|
34
|
+
// default QUIC packet maximum length is 1200 bytes,
|
|
35
|
+
// which we assume by default. The packet storage will
|
|
36
|
+
// be stack allocated up to this size.
|
|
37
|
+
//
|
|
38
|
+
// Packets are maintained in a freelist held by the
|
|
39
|
+
// BindingData instance. When using Create() to create
|
|
40
|
+
// a Packet, we'll check to see if there is a free
|
|
41
|
+
// packet in the freelist and use it instead of starting
|
|
42
|
+
// fresh with a new packet. The freelist can store at
|
|
43
|
+
// most kMaxFreeList packets
|
|
44
|
+
//
|
|
45
|
+
// Packets are always encrypted so their content should
|
|
46
|
+
// be considered opaque to us. We leave it entirely up
|
|
47
|
+
// to ngtcp2 how to encode QUIC frames into the packet.
|
|
48
|
+
class Packet final : public ReqWrap<uv_udp_send_t> {
|
|
49
|
+
private:
|
|
50
|
+
struct Data;
|
|
51
|
+
|
|
52
|
+
public:
|
|
53
|
+
static v8::Local<v8::FunctionTemplate> GetConstructorTemplate(
|
|
54
|
+
Environment* env);
|
|
55
|
+
|
|
56
|
+
class Listener {
|
|
57
|
+
public:
|
|
58
|
+
virtual void PacketDone(int status) = 0;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
// Do not use the Packet constructors directly to create
|
|
62
|
+
// them. These are public only to support MakeBaseObject.
|
|
63
|
+
// Use the Create, or Create variants to create or
|
|
64
|
+
// acquire packet instances.
|
|
65
|
+
|
|
66
|
+
Packet(Environment* env,
|
|
67
|
+
Listener* listener,
|
|
68
|
+
v8::Local<v8::Object> object,
|
|
69
|
+
const SocketAddress& destination,
|
|
70
|
+
size_t length,
|
|
71
|
+
const char* diagnostic_label = "<unknown>");
|
|
72
|
+
|
|
73
|
+
Packet(Environment* env,
|
|
74
|
+
Listener* listener,
|
|
75
|
+
v8::Local<v8::Object> object,
|
|
76
|
+
const SocketAddress& destination,
|
|
77
|
+
std::shared_ptr<Data> data);
|
|
78
|
+
|
|
79
|
+
DISALLOW_COPY_AND_MOVE(Packet)
|
|
80
|
+
|
|
81
|
+
const SocketAddress& destination() const;
|
|
82
|
+
size_t length() const;
|
|
83
|
+
operator uv_buf_t() const;
|
|
84
|
+
operator ngtcp2_vec() const;
|
|
85
|
+
|
|
86
|
+
// Modify the size of the packet after ngtcp2 has written
|
|
87
|
+
// to it. len must be <= length(). We call this after we've
|
|
88
|
+
// asked ngtcp2 to encode frames into the packet and ngtcp2
|
|
89
|
+
// tells us how many of the packets bytes were used.
|
|
90
|
+
void Truncate(size_t len);
|
|
91
|
+
|
|
92
|
+
static BaseObjectPtr<Packet> Create(
|
|
93
|
+
Environment* env,
|
|
94
|
+
Listener* listener,
|
|
95
|
+
const SocketAddress& destination,
|
|
96
|
+
size_t length = kDefaultMaxPacketLength,
|
|
97
|
+
const char* diagnostic_label = "<unknown>");
|
|
98
|
+
|
|
99
|
+
BaseObjectPtr<Packet> Clone() const;
|
|
100
|
+
|
|
101
|
+
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
102
|
+
SET_MEMORY_INFO_NAME(Packet)
|
|
103
|
+
SET_SELF_SIZE(Packet)
|
|
104
|
+
|
|
105
|
+
std::string ToString() const;
|
|
106
|
+
|
|
107
|
+
static BaseObjectPtr<Packet> CreateRetryPacket(
|
|
108
|
+
Environment* env,
|
|
109
|
+
Listener* listener,
|
|
110
|
+
const PathDescriptor& path_descriptor,
|
|
111
|
+
const TokenSecret& token_secret);
|
|
112
|
+
|
|
113
|
+
static BaseObjectPtr<Packet> CreateConnectionClosePacket(
|
|
114
|
+
Environment* env,
|
|
115
|
+
Listener* listener,
|
|
116
|
+
const SocketAddress& destination,
|
|
117
|
+
ngtcp2_conn* conn,
|
|
118
|
+
const QuicError& error);
|
|
119
|
+
|
|
120
|
+
static BaseObjectPtr<Packet> CreateImmediateConnectionClosePacket(
|
|
121
|
+
Environment* env,
|
|
122
|
+
Listener* listener,
|
|
123
|
+
const PathDescriptor& path_descriptor,
|
|
124
|
+
const QuicError& reason);
|
|
125
|
+
|
|
126
|
+
static BaseObjectPtr<Packet> CreateStatelessResetPacket(
|
|
127
|
+
Environment* env,
|
|
128
|
+
Listener* listener,
|
|
129
|
+
const PathDescriptor& path_descriptor,
|
|
130
|
+
const TokenSecret& token_secret,
|
|
131
|
+
size_t source_len);
|
|
132
|
+
|
|
133
|
+
static BaseObjectPtr<Packet> CreateVersionNegotiationPacket(
|
|
134
|
+
Environment* env,
|
|
135
|
+
Listener* listener,
|
|
136
|
+
const PathDescriptor& path_descriptor);
|
|
137
|
+
|
|
138
|
+
// Called when the packet is done being sent.
|
|
139
|
+
void Done(int status);
|
|
140
|
+
|
|
141
|
+
private:
|
|
142
|
+
static BaseObjectPtr<Packet> FromFreeList(Environment* env,
|
|
143
|
+
std::shared_ptr<Data> data,
|
|
144
|
+
Listener* listener,
|
|
145
|
+
const SocketAddress& destination);
|
|
146
|
+
|
|
147
|
+
Listener* listener_;
|
|
148
|
+
SocketAddress destination_;
|
|
149
|
+
std::shared_ptr<Data> data_;
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
} // namespace node::quic
|
|
153
|
+
|
|
154
|
+
#endif // HAVE_OPENSSL && NODE_OPENSSL_HAS_QUIC
|
|
155
|
+
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#ifndef SRC_PATH_H_
|
|
2
|
+
#define SRC_PATH_H_
|
|
3
|
+
|
|
4
|
+
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
|
+
|
|
6
|
+
#include <string>
|
|
7
|
+
#include <vector>
|
|
8
|
+
#include "node_options-inl.h"
|
|
9
|
+
#include "util-inl.h"
|
|
10
|
+
|
|
11
|
+
namespace node {
|
|
12
|
+
|
|
13
|
+
constexpr bool IsPathSeparator(const char c) noexcept;
|
|
14
|
+
|
|
15
|
+
std::string NormalizeString(const std::string_view path,
|
|
16
|
+
bool allowAboveRoot,
|
|
17
|
+
const std::string_view separator);
|
|
18
|
+
|
|
19
|
+
std::string PathResolve(Environment* env,
|
|
20
|
+
const std::vector<std::string_view>& paths);
|
|
21
|
+
|
|
22
|
+
#ifdef _WIN32
|
|
23
|
+
constexpr bool IsWindowsDeviceRoot(const char c) noexcept;
|
|
24
|
+
#endif // _WIN32
|
|
25
|
+
|
|
26
|
+
void ToNamespacedPath(Environment* env, BufferValue* path);
|
|
27
|
+
void FromNamespacedPath(std::string* path);
|
|
28
|
+
|
|
29
|
+
} // namespace node
|
|
30
|
+
|
|
31
|
+
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
32
|
+
|
|
33
|
+
#endif // SRC_PATH_H_
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#ifndef SRC_PERMISSION_ADDON_PERMISSION_H_
|
|
2
|
+
#define SRC_PERMISSION_ADDON_PERMISSION_H_
|
|
3
|
+
|
|
4
|
+
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
|
+
|
|
6
|
+
#include <string>
|
|
7
|
+
#include "permission/permission_base.h"
|
|
8
|
+
|
|
9
|
+
namespace node {
|
|
10
|
+
|
|
11
|
+
namespace permission {
|
|
12
|
+
|
|
13
|
+
class AddonPermission final : public PermissionBase {
|
|
14
|
+
public:
|
|
15
|
+
void Apply(Environment* env,
|
|
16
|
+
const std::vector<std::string>& allow,
|
|
17
|
+
PermissionScope scope) override;
|
|
18
|
+
bool is_granted(Environment* env,
|
|
19
|
+
PermissionScope perm,
|
|
20
|
+
const std::string_view& param = "") const override;
|
|
21
|
+
|
|
22
|
+
private:
|
|
23
|
+
bool deny_all_;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
} // namespace permission
|
|
27
|
+
|
|
28
|
+
} // namespace node
|
|
29
|
+
|
|
30
|
+
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
31
|
+
#endif // SRC_PERMISSION_ADDON_PERMISSION_H_
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#ifndef SRC_PERMISSION_CHILD_PROCESS_PERMISSION_H_
|
|
2
|
+
#define SRC_PERMISSION_CHILD_PROCESS_PERMISSION_H_
|
|
3
|
+
|
|
4
|
+
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
|
+
|
|
6
|
+
#include <vector>
|
|
7
|
+
#include "permission/permission_base.h"
|
|
8
|
+
|
|
9
|
+
namespace node {
|
|
10
|
+
|
|
11
|
+
namespace permission {
|
|
12
|
+
|
|
13
|
+
class ChildProcessPermission final : public PermissionBase {
|
|
14
|
+
public:
|
|
15
|
+
void Apply(Environment* env,
|
|
16
|
+
const std::vector<std::string>& allow,
|
|
17
|
+
PermissionScope scope) override;
|
|
18
|
+
bool is_granted(Environment* env,
|
|
19
|
+
PermissionScope perm,
|
|
20
|
+
const std::string_view& param = "") const override;
|
|
21
|
+
|
|
22
|
+
private:
|
|
23
|
+
bool deny_all_;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
} // namespace permission
|
|
27
|
+
|
|
28
|
+
} // namespace node
|
|
29
|
+
|
|
30
|
+
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
31
|
+
#endif // SRC_PERMISSION_CHILD_PROCESS_PERMISSION_H_
|