@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,129 @@
|
|
|
1
|
+
// Copyright 2016 the V8 project authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
#ifndef SRC_TRACING_TRACED_VALUE_H_
|
|
6
|
+
#define SRC_TRACING_TRACED_VALUE_H_
|
|
7
|
+
|
|
8
|
+
#include "v8-platform.h"
|
|
9
|
+
|
|
10
|
+
#include <cstdint>
|
|
11
|
+
#include <span>
|
|
12
|
+
#include <string>
|
|
13
|
+
|
|
14
|
+
namespace node {
|
|
15
|
+
namespace tracing {
|
|
16
|
+
|
|
17
|
+
template <typename T>
|
|
18
|
+
std::unique_ptr<v8::ConvertableToTraceFormat> CastTracedValue(const T& value) {
|
|
19
|
+
return value.Cast();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
class EnvironmentArgs {
|
|
23
|
+
public:
|
|
24
|
+
EnvironmentArgs(std::span<const std::string> args,
|
|
25
|
+
std::span<const std::string> exec_args)
|
|
26
|
+
: args_(args), exec_args_(exec_args) {}
|
|
27
|
+
|
|
28
|
+
std::unique_ptr<v8::ConvertableToTraceFormat> Cast() const;
|
|
29
|
+
|
|
30
|
+
private:
|
|
31
|
+
std::span<const std::string> args_;
|
|
32
|
+
std::span<const std::string> exec_args_;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
class AsyncWrapArgs {
|
|
36
|
+
public:
|
|
37
|
+
AsyncWrapArgs(int64_t execution_async_id, int64_t trigger_async_id)
|
|
38
|
+
: execution_async_id_(execution_async_id),
|
|
39
|
+
trigger_async_id_(trigger_async_id) {}
|
|
40
|
+
|
|
41
|
+
std::unique_ptr<v8::ConvertableToTraceFormat> Cast() const;
|
|
42
|
+
|
|
43
|
+
private:
|
|
44
|
+
int64_t execution_async_id_;
|
|
45
|
+
int64_t trigger_async_id_;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
class ProcessMeta {
|
|
49
|
+
public:
|
|
50
|
+
std::unique_ptr<v8::ConvertableToTraceFormat> Cast() const;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
// Do not use this class directly. Define a custom structured class to provide
|
|
54
|
+
// a conversion method so that the class can be used with both V8 legacy
|
|
55
|
+
// trace API and perfetto API.
|
|
56
|
+
//
|
|
57
|
+
// These classes provide a JSON-inspired way to write structed data into traces.
|
|
58
|
+
//
|
|
59
|
+
// To define how a custom class should be written into the trace, users should
|
|
60
|
+
// define one of the two following functions:
|
|
61
|
+
// - Foo::Cast(TracedValue) const
|
|
62
|
+
// (preferred for code which depends on perfetto directly)
|
|
63
|
+
//
|
|
64
|
+
// After defining a conversion method, the object can be used as a
|
|
65
|
+
// TRACE_EVENT argument:
|
|
66
|
+
//
|
|
67
|
+
// Foo foo;
|
|
68
|
+
// TRACE_EVENT("cat", "Event", "arg", CastTracedValue(foo));
|
|
69
|
+
//
|
|
70
|
+
// class Foo {
|
|
71
|
+
// std::unique_ptr<v8::ConvertableToTraceFormat> Cast() const {
|
|
72
|
+
// auto traced_value = tracing::TracedValue::Create();
|
|
73
|
+
// dict->SetInteger("key", 42);
|
|
74
|
+
// dict->SetString("foo", "bar");
|
|
75
|
+
// return traced_value;
|
|
76
|
+
// }
|
|
77
|
+
// }
|
|
78
|
+
class TracedValue : public v8::ConvertableToTraceFormat {
|
|
79
|
+
public:
|
|
80
|
+
~TracedValue() override = default;
|
|
81
|
+
|
|
82
|
+
static std::unique_ptr<TracedValue> Create();
|
|
83
|
+
static std::unique_ptr<TracedValue> CreateArray();
|
|
84
|
+
|
|
85
|
+
void EndDictionary();
|
|
86
|
+
void EndArray();
|
|
87
|
+
|
|
88
|
+
// These methods assume that |name| is a long lived "quoted" string.
|
|
89
|
+
void SetInteger(const char* name, int value);
|
|
90
|
+
void SetDouble(const char* name, double value);
|
|
91
|
+
void SetBoolean(const char* name, bool value);
|
|
92
|
+
void SetNull(const char* name);
|
|
93
|
+
void SetString(const char* name, const char* value);
|
|
94
|
+
void SetString(const char* name, const std::string& value) {
|
|
95
|
+
SetString(name, value.c_str());
|
|
96
|
+
}
|
|
97
|
+
void BeginDictionary(const char* name);
|
|
98
|
+
void BeginArray(const char* name);
|
|
99
|
+
|
|
100
|
+
void AppendInteger(int);
|
|
101
|
+
void AppendDouble(double);
|
|
102
|
+
void AppendBoolean(bool);
|
|
103
|
+
void AppendNull();
|
|
104
|
+
void AppendString(const char*);
|
|
105
|
+
void AppendString(const std::string& value) { AppendString(value.c_str()); }
|
|
106
|
+
void BeginArray();
|
|
107
|
+
void BeginDictionary();
|
|
108
|
+
|
|
109
|
+
// ConvertableToTraceFormat implementation.
|
|
110
|
+
void AppendAsTraceFormat(std::string* out) const override;
|
|
111
|
+
|
|
112
|
+
TracedValue(const TracedValue&) = delete;
|
|
113
|
+
TracedValue& operator=(const TracedValue&) = delete;
|
|
114
|
+
|
|
115
|
+
private:
|
|
116
|
+
explicit TracedValue(bool root_is_array = false);
|
|
117
|
+
|
|
118
|
+
void WriteComma();
|
|
119
|
+
void WriteName(const char* name);
|
|
120
|
+
|
|
121
|
+
std::string data_;
|
|
122
|
+
bool first_item_;
|
|
123
|
+
bool root_is_array_;
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
} // namespace tracing
|
|
127
|
+
} // namespace node
|
|
128
|
+
|
|
129
|
+
#endif // SRC_TRACING_TRACED_VALUE_H_
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#ifndef SRC_INSPECTOR_TRACING_AGENT_H_
|
|
2
|
+
#define SRC_INSPECTOR_TRACING_AGENT_H_
|
|
3
|
+
|
|
4
|
+
#include "node/inspector/protocol/NodeTracing.h"
|
|
5
|
+
#include "tracing/agent.h"
|
|
6
|
+
#include "v8.h"
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
namespace node {
|
|
10
|
+
class Environment;
|
|
11
|
+
|
|
12
|
+
namespace inspector {
|
|
13
|
+
class MainThreadHandle;
|
|
14
|
+
|
|
15
|
+
namespace protocol {
|
|
16
|
+
|
|
17
|
+
class TracingAgent : public NodeTracing::Backend {
|
|
18
|
+
public:
|
|
19
|
+
explicit TracingAgent(Environment*, std::shared_ptr<MainThreadHandle>);
|
|
20
|
+
~TracingAgent() override;
|
|
21
|
+
|
|
22
|
+
void Wire(UberDispatcher* dispatcher);
|
|
23
|
+
|
|
24
|
+
DispatchResponse start(
|
|
25
|
+
std::unique_ptr<protocol::NodeTracing::TraceConfig> traceConfig) override;
|
|
26
|
+
DispatchResponse stop() override;
|
|
27
|
+
DispatchResponse getCategories(
|
|
28
|
+
std::unique_ptr<protocol::Array<String>>* categories) override;
|
|
29
|
+
|
|
30
|
+
private:
|
|
31
|
+
Environment* env_;
|
|
32
|
+
std::shared_ptr<MainThreadHandle> main_thread_;
|
|
33
|
+
tracing::AgentWriterHandle trace_writer_;
|
|
34
|
+
int frontend_object_id_ = 0;
|
|
35
|
+
std::shared_ptr<NodeTracing::Frontend> frontend_;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
} // namespace protocol
|
|
40
|
+
} // namespace inspector
|
|
41
|
+
} // namespace node
|
|
42
|
+
|
|
43
|
+
#endif // SRC_INSPECTOR_TRACING_AGENT_H_
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
4
|
+
#if HAVE_OPENSSL && NODE_OPENSSL_HAS_QUIC
|
|
5
|
+
|
|
6
|
+
#include <env.h>
|
|
7
|
+
#include <memory_tracker.h>
|
|
8
|
+
#include <ngtcp2/ngtcp2.h>
|
|
9
|
+
#include <node_sockaddr.h>
|
|
10
|
+
#include <optional>
|
|
11
|
+
#include "bindingdata.h"
|
|
12
|
+
#include "cid.h"
|
|
13
|
+
#include "data.h"
|
|
14
|
+
#include "tokens.h"
|
|
15
|
+
|
|
16
|
+
namespace node::quic {
|
|
17
|
+
|
|
18
|
+
class Endpoint;
|
|
19
|
+
class Session;
|
|
20
|
+
|
|
21
|
+
// The Transport Params are the set of configuration options that are sent to
|
|
22
|
+
// the remote peer. They communicate the protocol options the other peer
|
|
23
|
+
// should use when communicating with this session.
|
|
24
|
+
class TransportParams final {
|
|
25
|
+
public:
|
|
26
|
+
static void Initialize(Environment* env, v8::Local<v8::Object> target);
|
|
27
|
+
|
|
28
|
+
static constexpr int QUIC_TRANSPORT_PARAMS_V1 = NGTCP2_TRANSPORT_PARAMS_V1;
|
|
29
|
+
static constexpr int QUIC_TRANSPORT_PARAMS_VERSION =
|
|
30
|
+
NGTCP2_TRANSPORT_PARAMS_VERSION;
|
|
31
|
+
static constexpr uint64_t DEFAULT_MAX_STREAM_DATA = 256 * 1024;
|
|
32
|
+
static constexpr uint64_t DEFAULT_MAX_DATA = 1 * 1024 * 1024;
|
|
33
|
+
static constexpr uint64_t DEFAULT_MAX_IDLE_TIMEOUT = 10; // seconds
|
|
34
|
+
static constexpr uint64_t DEFAULT_MAX_STREAMS_BIDI = 100;
|
|
35
|
+
static constexpr uint64_t DEFAULT_MAX_STREAMS_UNI = 3;
|
|
36
|
+
static constexpr uint64_t DEFAULT_ACTIVE_CONNECTION_ID_LIMIT = 2;
|
|
37
|
+
|
|
38
|
+
struct Config {
|
|
39
|
+
Side side;
|
|
40
|
+
const CID& ocid;
|
|
41
|
+
const CID& retry_scid;
|
|
42
|
+
Config(Side side,
|
|
43
|
+
const CID& ocid = CID::kInvalid,
|
|
44
|
+
const CID& retry_scid = CID::kInvalid);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
struct Options : public MemoryRetainer {
|
|
48
|
+
int transportParamsVersion = QUIC_TRANSPORT_PARAMS_V1;
|
|
49
|
+
|
|
50
|
+
// Set only on server Sessions, the preferred address communicates the IP
|
|
51
|
+
// address and port that the server would prefer the client to use when
|
|
52
|
+
// communicating with it. See the QUIC specification for more detail on how
|
|
53
|
+
// the preferred address mechanism works.
|
|
54
|
+
std::optional<SocketAddress> preferred_address_ipv4{};
|
|
55
|
+
std::optional<SocketAddress> preferred_address_ipv6{};
|
|
56
|
+
|
|
57
|
+
// The initial size of the flow control window of locally initiated streams.
|
|
58
|
+
// This is the maximum number of bytes that the *remote* endpoint can send
|
|
59
|
+
// when the connection is started.
|
|
60
|
+
uint64_t initial_max_stream_data_bidi_local = DEFAULT_MAX_STREAM_DATA;
|
|
61
|
+
|
|
62
|
+
// The initial size of the flow control window of remotely initiated
|
|
63
|
+
// streams. This is the maximum number of bytes that the remote endpoint can
|
|
64
|
+
// send when the connection is started.
|
|
65
|
+
uint64_t initial_max_stream_data_bidi_remote = DEFAULT_MAX_STREAM_DATA;
|
|
66
|
+
|
|
67
|
+
// The initial size of the flow control window of remotely initiated
|
|
68
|
+
// unidirectional streams. This is the maximum number of bytes that the
|
|
69
|
+
// remote endpoint can send when the connection is started.
|
|
70
|
+
uint64_t initial_max_stream_data_uni = DEFAULT_MAX_STREAM_DATA;
|
|
71
|
+
|
|
72
|
+
// The initial size of the session-level flow control window.
|
|
73
|
+
uint64_t initial_max_data = DEFAULT_MAX_DATA;
|
|
74
|
+
|
|
75
|
+
// The initial maximum number of concurrent bidirectional streams the remote
|
|
76
|
+
// endpoint is permitted to open.
|
|
77
|
+
uint64_t initial_max_streams_bidi = DEFAULT_MAX_STREAMS_BIDI;
|
|
78
|
+
|
|
79
|
+
// The initial maximum number of concurrent unidirectional streams the
|
|
80
|
+
// remote endpoint is permitted to open.
|
|
81
|
+
uint64_t initial_max_streams_uni = DEFAULT_MAX_STREAMS_UNI;
|
|
82
|
+
|
|
83
|
+
// The maximum amount of time that a Session is permitted to remain idle
|
|
84
|
+
// before it is silently closed and state is discarded.
|
|
85
|
+
uint64_t max_idle_timeout = DEFAULT_MAX_IDLE_TIMEOUT;
|
|
86
|
+
|
|
87
|
+
// The maximum number of Connection IDs that the peer can store. A single
|
|
88
|
+
// Session may have several connection IDs over it's lifetime.
|
|
89
|
+
uint64_t active_connection_id_limit = DEFAULT_ACTIVE_CONNECTION_ID_LIMIT;
|
|
90
|
+
|
|
91
|
+
// Establishes the exponent used in ACK Delay field in the ACK frame. See
|
|
92
|
+
// the QUIC specification for details. This is an advanced option that
|
|
93
|
+
// should rarely be modified and only if there is really good reason.
|
|
94
|
+
uint64_t ack_delay_exponent = NGTCP2_DEFAULT_ACK_DELAY_EXPONENT;
|
|
95
|
+
|
|
96
|
+
// The maximum amount of time by which the endpoint will delay sending
|
|
97
|
+
// acknowledgements. This is an advanced option that should rarely be
|
|
98
|
+
// modified and only if there is a really good reason. It is used to
|
|
99
|
+
// determine how long a Session will wait to determine that a packet has
|
|
100
|
+
// been lost.
|
|
101
|
+
uint64_t max_ack_delay = NGTCP2_DEFAULT_MAX_ACK_DELAY;
|
|
102
|
+
|
|
103
|
+
// The maximum size of DATAGRAM frames that the endpoint will accept.
|
|
104
|
+
// Setting the value to 0 will disable DATAGRAM support.
|
|
105
|
+
uint64_t max_datagram_frame_size = kDefaultMaxPacketLength;
|
|
106
|
+
|
|
107
|
+
// When true, communicates that the Session does not support active
|
|
108
|
+
// connection migration. See the QUIC specification for more details on
|
|
109
|
+
// connection migration.
|
|
110
|
+
// TODO(@jasnell): We currently do not implementation active migration.
|
|
111
|
+
bool disable_active_migration = true;
|
|
112
|
+
|
|
113
|
+
static const Options kDefault;
|
|
114
|
+
|
|
115
|
+
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
116
|
+
SET_MEMORY_INFO_NAME(TransportParams::Options)
|
|
117
|
+
SET_SELF_SIZE(Options)
|
|
118
|
+
|
|
119
|
+
static v8::Maybe<Options> From(Environment* env,
|
|
120
|
+
v8::Local<v8::Value> value);
|
|
121
|
+
|
|
122
|
+
std::string ToString() const;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
explicit TransportParams();
|
|
126
|
+
|
|
127
|
+
// Creates an instance of TransportParams wrapping the existing const
|
|
128
|
+
// ngtcp2_transport_params pointer.
|
|
129
|
+
TransportParams(const ngtcp2_transport_params* ptr);
|
|
130
|
+
|
|
131
|
+
TransportParams(const Config& config, const Options& options);
|
|
132
|
+
|
|
133
|
+
// Creates an instance of TransportParams by decoding the given buffer.
|
|
134
|
+
// If the parameters cannot be successfully decoded, the error()
|
|
135
|
+
// property will be set with an appropriate QuicError and the bool()
|
|
136
|
+
// operator will return false.
|
|
137
|
+
TransportParams(const ngtcp2_vec& buf,
|
|
138
|
+
int version = QUIC_TRANSPORT_PARAMS_V1);
|
|
139
|
+
|
|
140
|
+
void GenerateSessionTokens(Session* session);
|
|
141
|
+
void GenerateStatelessResetToken(const Endpoint& endpoint, const CID& cid);
|
|
142
|
+
void GeneratePreferredAddressToken(Session* session);
|
|
143
|
+
void SetPreferredAddress(const SocketAddress& address);
|
|
144
|
+
|
|
145
|
+
operator const ngtcp2_transport_params&() const;
|
|
146
|
+
operator const ngtcp2_transport_params*() const;
|
|
147
|
+
|
|
148
|
+
operator bool() const;
|
|
149
|
+
|
|
150
|
+
const QuicError& error() const;
|
|
151
|
+
|
|
152
|
+
// Returns an ArrayBuffer containing the encoded transport parameters.
|
|
153
|
+
// If an error occurs during encoding, an empty shared_ptr will be returned
|
|
154
|
+
// and the error() property will be set to an appropriate QuicError.
|
|
155
|
+
Store Encode(Environment* env, int version = QUIC_TRANSPORT_PARAMS_V1) const;
|
|
156
|
+
|
|
157
|
+
private:
|
|
158
|
+
ngtcp2_transport_params params_{};
|
|
159
|
+
const ngtcp2_transport_params* ptr_;
|
|
160
|
+
QuicError error_ = QuicError::TRANSPORT_NO_ERROR;
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
} // namespace node::quic
|
|
164
|
+
|
|
165
|
+
#endif // HAVE_OPENSSL && NODE_OPENSSL_HAS_QUIC
|
|
166
|
+
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
|
|
33
33
|
namespace node {
|
|
34
34
|
|
|
35
|
+
class ExternalReferenceRegistry;
|
|
35
36
|
class UDPWrapBase;
|
|
36
37
|
|
|
37
38
|
// A listener that can be attached to an `UDPWrapBase` object and generally
|
|
@@ -110,6 +111,7 @@ class UDPWrapBase {
|
|
|
110
111
|
static void RecvStart(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
111
112
|
static void RecvStop(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
112
113
|
static void AddMethods(Environment* env, v8::Local<v8::FunctionTemplate> t);
|
|
114
|
+
static void RegisterExternalReferences(ExternalReferenceRegistry* registry);
|
|
113
115
|
|
|
114
116
|
private:
|
|
115
117
|
UDPListener* listener_ = nullptr;
|
|
@@ -126,6 +128,7 @@ class UDPWrap final : public HandleWrap,
|
|
|
126
128
|
v8::Local<v8::Value> unused,
|
|
127
129
|
v8::Local<v8::Context> context,
|
|
128
130
|
void* priv);
|
|
131
|
+
static void RegisterExternalReferences(ExternalReferenceRegistry* registry);
|
|
129
132
|
static void GetFD(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
130
133
|
static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
131
134
|
static void Open(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
@@ -144,12 +147,10 @@ class UDPWrap final : public HandleWrap,
|
|
|
144
147
|
const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
145
148
|
static void SetMulticastInterface(
|
|
146
149
|
const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
147
|
-
static void SetMulticastTTL(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
148
|
-
static void SetMulticastLoopback(
|
|
149
|
-
const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
150
|
-
static void SetBroadcast(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
151
|
-
static void SetTTL(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
152
150
|
static void BufferSize(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
151
|
+
static void GetSendQueueSize(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
152
|
+
static void GetSendQueueCount(
|
|
153
|
+
const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
153
154
|
|
|
154
155
|
// UDPListener implementation
|
|
155
156
|
uv_buf_t OnAlloc(size_t suggested_size) override;
|
|
@@ -172,6 +173,8 @@ class UDPWrap final : public HandleWrap,
|
|
|
172
173
|
|
|
173
174
|
AsyncWrap* GetAsyncWrap() override;
|
|
174
175
|
|
|
176
|
+
inline uv_udp_t* GetLibuvHandle() { return &handle_; }
|
|
177
|
+
|
|
175
178
|
static v8::MaybeLocal<v8::Object> Instantiate(Environment* env,
|
|
176
179
|
AsyncWrap* parent,
|
|
177
180
|
SocketType type);
|