@encharm/cws 4.0.2 → 4.3.0
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/CHANGELOG.md +3 -0
- package/LICENSE +3 -2
- package/README.md +9 -2
- package/binding.gyp +2 -2
- package/dist/bindings/cws_darwin_arm64_node108.node +0 -0
- package/dist/bindings/cws_darwin_arm64_node64.node +0 -0
- package/dist/bindings/cws_darwin_arm64_node72.node +0 -0
- package/dist/bindings/cws_darwin_arm64_node79.node +0 -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_node108.node +0 -0
- package/dist/bindings/cws_darwin_x64_node64.node +0 -0
- package/dist/bindings/cws_darwin_x64_node72.node +0 -0
- package/dist/bindings/cws_darwin_x64_node79.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_x64_node108.node +0 -0
- package/dist/bindings/cws_linux_x64_node64.node +0 -0
- package/dist/bindings/cws_linux_x64_node72.node +0 -0
- package/dist/bindings/cws_linux_x64_node79.node +0 -0
- package/dist/bindings/cws_linux_x64_node83.node +0 -0
- package/dist/bindings/cws_linux_x64_node93.node +0 -0
- package/dist/bindings/cws_win32_x64_node108.node +0 -0
- package/dist/bindings/cws_win32_x64_node64.node +0 -0
- package/dist/bindings/cws_win32_x64_node72.node +0 -0
- package/dist/bindings/cws_win32_x64_node79.node +0 -0
- package/dist/bindings/cws_win32_x64_node83.node +0 -0
- package/dist/bindings/cws_win32_x64_node93.node +0 -0
- package/dist/client.d.ts +1 -0
- package/dist/client.js +4 -0
- package/dist/index.js +3 -2
- package/dist/server.js +1 -0
- package/dist/shared.js +2 -1
- package/package.json +1 -1
- package/src/Addon.cpp +1 -0
- package/src/Addon.h +35 -2
- package/src/HTTPSocket.cpp +1 -1
- package/src/LICENSE +4 -0
- package/src/Socket.h +12 -3
- package/src/headers/{13 → 18}/aliased_buffer.h +61 -9
- package/src/headers/18/aliased_struct-inl.h +54 -0
- package/src/headers/18/aliased_struct.h +63 -0
- package/src/headers/{12 → 18}/async_wrap-inl.h +0 -0
- package/src/headers/{12 → 18}/async_wrap.h +26 -2
- package/src/headers/{12/base64.h → 18/base64-inl.h} +78 -86
- package/src/headers/18/base64.h +69 -0
- package/src/headers/{12 → 18}/base_object-inl.h +46 -25
- package/src/headers/{12 → 18}/base_object.h +82 -17
- package/src/headers/{12 → 18}/callback_queue-inl.h +9 -9
- package/src/headers/{12 → 18}/callback_queue.h +13 -5
- package/src/headers/18/cares_wrap.h +523 -0
- package/src/headers/{12 → 18}/connect_wrap.h +0 -0
- package/src/headers/{12 → 18}/connection_wrap.h +0 -0
- package/src/headers/18/crypto/crypto_aes.h +89 -0
- package/src/headers/{13/node_crypto_bio.h → 18/crypto/crypto_bio.h} +3 -4
- package/src/headers/18/crypto/crypto_cipher.h +291 -0
- package/src/headers/{13/node_crypto_clienthello-inl.h → 18/crypto/crypto_clienthello-inl.h} +4 -5
- package/src/headers/{13/node_crypto_clienthello.h → 18/crypto/crypto_clienthello.h} +3 -4
- package/src/headers/{12/node_crypto_common.h → 18/crypto/crypto_common.h} +49 -36
- package/src/headers/18/crypto/crypto_context.h +147 -0
- package/src/headers/18/crypto/crypto_dh.h +156 -0
- package/src/headers/18/crypto/crypto_dsa.h +77 -0
- package/src/headers/18/crypto/crypto_ec.h +170 -0
- package/src/headers/{12/node_crypto_groups.h → 18/crypto/crypto_groups.h} +3 -3
- package/src/headers/18/crypto/crypto_hash.h +89 -0
- package/src/headers/18/crypto/crypto_hkdf.h +65 -0
- package/src/headers/18/crypto/crypto_hmac.h +94 -0
- package/src/headers/18/crypto/crypto_keygen.h +305 -0
- package/src/headers/18/crypto/crypto_keys.h +420 -0
- package/src/headers/18/crypto/crypto_pbkdf2.h +76 -0
- package/src/headers/18/crypto/crypto_random.h +130 -0
- package/src/headers/18/crypto/crypto_rsa.h +141 -0
- package/src/headers/18/crypto/crypto_scrypt.h +87 -0
- package/src/headers/18/crypto/crypto_sig.h +168 -0
- package/src/headers/18/crypto/crypto_spkac.h +21 -0
- package/src/headers/18/crypto/crypto_timing.h +20 -0
- package/src/headers/{12/tls_wrap.h → 18/crypto/crypto_tls.h} +137 -66
- package/src/headers/18/crypto/crypto_util.h +791 -0
- package/src/headers/18/crypto/crypto_x509.h +143 -0
- package/src/headers/{12 → 18}/debug_utils-inl.h +0 -0
- package/src/headers/{13 → 18}/debug_utils.h +7 -4
- package/src/headers/{12 → 18}/diagnosticfilename-inl.h +0 -0
- package/src/headers/{12 → 18}/env-inl.h +397 -304
- package/src/headers/{12 → 18}/env.h +397 -172
- package/src/headers/{12 → 18}/handle_wrap.h +7 -3
- package/src/headers/18/histogram-inl.h +107 -0
- package/src/headers/18/histogram.h +239 -0
- package/src/headers/{13 → 18}/inspector_agent.h +4 -7
- package/src/headers/{12 → 18}/inspector_io.h +0 -0
- package/src/headers/{13 → 18}/inspector_profiler.h +17 -5
- package/src/headers/{12 → 18}/inspector_socket.h +0 -0
- package/src/headers/{12 → 18}/inspector_socket_server.h +0 -0
- package/src/headers/18/js_native_api.h +571 -0
- package/src/headers/{13 → 18}/js_native_api_types.h +30 -7
- package/src/headers/{12 → 18}/js_native_api_v8.h +220 -83
- package/src/headers/{12 → 18}/js_native_api_v8_internals.h +6 -5
- package/src/headers/{12 → 18}/js_stream.h +0 -0
- package/src/headers/{12 → 18}/json_utils.h +0 -0
- package/src/headers/{13 → 18}/memory_tracker-inl.h +6 -5
- package/src/headers/{13 → 18}/memory_tracker.h +0 -7
- package/src/headers/{13 → 18}/module_wrap.h +24 -7
- package/src/headers/{13 → 18}/node.h +329 -68
- package/src/headers/18/node_api.h +288 -0
- package/src/headers/18/node_api_internals.h +38 -0
- package/src/headers/{12 → 18}/node_api_types.h +12 -9
- package/src/headers/{12 → 18}/node_binding.h +0 -0
- package/src/headers/18/node_blob.h +191 -0
- package/src/headers/18/node_bob-inl.h +37 -0
- package/src/headers/18/node_bob.h +111 -0
- package/src/headers/{13 → 18}/node_buffer.h +0 -0
- package/src/headers/{13 → 18}/node_constants.h +5 -1
- package/src/headers/{12 → 18}/node_context_data.h +5 -0
- package/src/headers/{12 → 18}/node_contextify.h +37 -2
- package/src/headers/{10/node_javascript.h → 18/node_crypto.h} +30 -14
- package/src/headers/{12 → 18}/node_dir.h +0 -0
- package/src/headers/{12 → 18}/node_dtrace.h +0 -0
- package/src/headers/{12 → 18}/node_errors.h +90 -24
- package/src/headers/18/node_external_reference.h +145 -0
- package/src/headers/{13 → 18}/node_file-inl.h +38 -21
- package/src/headers/{12 → 18}/node_file.h +74 -13
- package/src/headers/{13 → 18}/node_http2.h +365 -269
- package/src/headers/{12 → 18}/node_http2_state.h +40 -50
- package/src/headers/{13 → 18}/node_http_common-inl.h +25 -5
- package/src/headers/{13 → 18}/node_http_common.h +24 -20
- package/src/headers/{13 → 18}/node_i18n.h +2 -1
- package/src/headers/{12 → 18}/node_internals.h +39 -41
- package/src/headers/{12 → 18}/node_main_instance.h +15 -18
- package/src/headers/{12 → 18}/node_mem-inl.h +0 -0
- package/src/headers/{12 → 18}/node_mem.h +1 -1
- package/src/headers/{13 → 18}/node_messaging.h +170 -23
- package/src/headers/{12 → 18}/node_metadata.h +17 -4
- package/src/headers/{12 → 18}/node_mutex.h +77 -1
- package/src/headers/{12 → 18}/node_native_module.h +11 -1
- package/src/headers/{12 → 18}/node_native_module_env.h +14 -8
- package/src/headers/{12 → 18}/node_object_wrap.h +0 -0
- package/src/headers/{13 → 18}/node_options-inl.h +51 -21
- package/src/headers/{13 → 18}/node_options.h +46 -14
- package/src/headers/18/node_perf.h +168 -0
- package/src/headers/{12 → 18}/node_perf_common.h +16 -22
- package/src/headers/{12 → 18}/node_platform.h +21 -16
- package/src/headers/18/node_process-inl.h +26 -0
- package/src/headers/18/node_process.h +97 -0
- package/src/headers/{13 → 18}/node_report.h +2 -2
- package/src/headers/{13 → 18}/node_revert.h +10 -0
- package/src/headers/{12 → 18}/node_root_certs.h +439 -651
- package/src/headers/18/node_snapshot_builder.h +43 -0
- package/src/headers/18/node_snapshotable.h +130 -0
- package/src/headers/{12 → 18}/node_sockaddr-inl.h +100 -4
- package/src/headers/18/node_sockaddr.h +405 -0
- package/src/headers/{13 → 18}/node_stat_watcher.h +7 -1
- package/src/headers/{12 → 18}/node_union_bytes.h +0 -0
- package/src/headers/{13 → 18}/node_url.h +18 -1
- package/src/headers/18/node_v8.h +41 -0
- package/src/headers/{12 → 18}/node_v8_platform-inl.h +10 -0
- package/src/headers/{13 → 18}/node_version.h +7 -7
- package/src/headers/{12 → 18}/node_wasi.h +0 -0
- package/src/headers/18/node_wasm_web_api.h +55 -0
- package/src/headers/{13 → 18}/node_watchdog.h +0 -0
- package/src/headers/{10 → 18}/node_win32_etw_provider-inl.h +7 -6
- package/src/headers/{10 → 18}/node_win32_etw_provider.h +0 -0
- package/src/headers/{13 → 18}/node_worker.h +24 -17
- package/src/headers/{12 → 18}/pipe_wrap.h +2 -0
- package/src/headers/{12 → 18}/req_wrap-inl.h +0 -0
- package/src/headers/{13 → 18}/req_wrap.h +1 -1
- package/src/headers/{12 → 18}/spawn_sync.h +0 -0
- package/src/headers/{13 → 18}/stream_base-inl.h +58 -22
- package/src/headers/{13 → 18}/stream_base.h +29 -3
- package/src/headers/{13 → 18}/stream_pipe.h +8 -3
- package/src/headers/{12 → 18}/stream_wrap.h +4 -1
- package/src/headers/{13 → 18}/string_bytes.h +0 -7
- package/src/headers/{12 → 18}/string_decoder-inl.h +0 -0
- package/src/headers/{10 → 18}/string_decoder.h +0 -0
- package/src/headers/{13 → 18}/string_search.h +2 -2
- package/src/headers/{12 → 18}/tcp_wrap.h +4 -0
- package/src/headers/{12 → 18}/threadpoolwork-inl.h +0 -0
- package/src/headers/18/timer_wrap-inl.h +32 -0
- package/src/headers/18/timer_wrap.h +85 -0
- package/src/headers/{13 → 18}/tracing/agent.h +1 -1
- package/src/headers/{12 → 18}/tracing/node_trace_buffer.h +0 -0
- package/src/headers/{12 → 18}/tracing/node_trace_writer.h +0 -0
- package/src/headers/{13 → 18}/tracing/trace_event.h +23 -13
- package/src/headers/{12 → 18}/tracing/trace_event_common.h +0 -0
- package/src/headers/{12 → 18}/tracing/traced_value.h +0 -0
- package/src/headers/{13 → 18}/tty_wrap.h +2 -1
- package/src/headers/{13 → 18}/udp_wrap.h +5 -0
- package/src/headers/{13 → 18}/util-inl.h +69 -15
- package/src/headers/{13 → 18}/util.h +93 -31
- package/src/headers/18/v8-fast-api-calls.h +939 -0
- package/src/headers/{12 → 18}/v8abbr.h +2 -2
- package/dist/bindings/cws_darwin_64.node +0 -0
- package/dist/bindings/cws_darwin_72.node +0 -0
- package/dist/bindings/cws_darwin_79.node +0 -0
- package/dist/bindings/cws_darwin_83.node +0 -0
- package/dist/bindings/cws_darwin_93.node +0 -0
- package/dist/bindings/cws_linux_64.node +0 -0
- package/dist/bindings/cws_linux_72.node +0 -0
- package/dist/bindings/cws_linux_79.node +0 -0
- package/dist/bindings/cws_linux_83.node +0 -0
- package/dist/bindings/cws_linux_93.node +0 -0
- package/dist/bindings/cws_win32_64.node +0 -0
- package/dist/bindings/cws_win32_72.node +0 -0
- package/dist/bindings/cws_win32_79.node +0 -0
- package/dist/bindings/cws_win32_83.node +0 -0
- package/dist/bindings/cws_win32_93.node +0 -0
- package/src/headers/10/aliased_buffer.h +0 -241
- package/src/headers/10/async_wrap-inl.h +0 -106
- package/src/headers/10/async_wrap.h +0 -218
- package/src/headers/10/base64.h +0 -197
- package/src/headers/10/base_object-inl.h +0 -132
- package/src/headers/10/base_object.h +0 -115
- package/src/headers/10/connect_wrap.h +0 -28
- package/src/headers/10/connection_wrap.h +0 -30
- package/src/headers/10/debug_utils.h +0 -128
- package/src/headers/10/env-inl.h +0 -906
- package/src/headers/10/env.h +0 -1046
- package/src/headers/10/handle_wrap.h +0 -114
- package/src/headers/10/inspector_agent.h +0 -137
- package/src/headers/10/inspector_io.h +0 -97
- package/src/headers/10/inspector_socket.h +0 -59
- package/src/headers/10/inspector_socket_server.h +0 -104
- package/src/headers/10/js_stream.h +0 -57
- package/src/headers/10/memory_tracker-inl.h +0 -318
- package/src/headers/10/memory_tracker.h +0 -246
- package/src/headers/10/module_wrap.h +0 -100
- package/src/headers/10/node.h +0 -863
- package/src/headers/10/node_api.h +0 -752
- package/src/headers/10/node_api_types.h +0 -171
- package/src/headers/10/node_buffer.h +0 -90
- package/src/headers/10/node_code_cache.h +0 -17
- package/src/headers/10/node_constants.h +0 -74
- package/src/headers/10/node_context_data.h +0 -39
- package/src/headers/10/node_contextify.h +0 -141
- package/src/headers/10/node_counters.h +0 -59
- package/src/headers/10/node_crypto.h +0 -699
- package/src/headers/10/node_crypto_bio.h +0 -177
- package/src/headers/10/node_crypto_clienthello-inl.h +0 -92
- package/src/headers/10/node_crypto_clienthello.h +0 -131
- package/src/headers/10/node_crypto_groups.h +0 -416
- package/src/headers/10/node_dtrace.h +0 -84
- package/src/headers/10/node_errors.h +0 -118
- package/src/headers/10/node_file.h +0 -373
- package/src/headers/10/node_http2.h +0 -1304
- package/src/headers/10/node_http2_state.h +0 -158
- package/src/headers/10/node_i18n.h +0 -69
- package/src/headers/10/node_internals.h +0 -952
- package/src/headers/10/node_messaging.h +0 -219
- package/src/headers/10/node_mutex.h +0 -191
- package/src/headers/10/node_object_wrap.h +0 -130
- package/src/headers/10/node_options-inl.h +0 -444
- package/src/headers/10/node_options.h +0 -397
- package/src/headers/10/node_perf.h +0 -134
- package/src/headers/10/node_perf_common.h +0 -96
- package/src/headers/10/node_persistent.h +0 -30
- package/src/headers/10/node_platform.h +0 -170
- package/src/headers/10/node_revert.h +0 -75
- package/src/headers/10/node_root_certs.h +0 -3393
- package/src/headers/10/node_stat_watcher.h +0 -65
- package/src/headers/10/node_url.h +0 -193
- package/src/headers/10/node_version.h +0 -120
- package/src/headers/10/node_watchdog.h +0 -114
- package/src/headers/10/node_win32_perfctr_provider.h +0 -58
- package/src/headers/10/node_worker.h +0 -94
- package/src/headers/10/pipe_wrap.h +0 -76
- package/src/headers/10/req_wrap-inl.h +0 -166
- package/src/headers/10/req_wrap.h +0 -61
- package/src/headers/10/sharedarraybuffer_metadata.h +0 -67
- package/src/headers/10/spawn_sync.h +0 -240
- package/src/headers/10/stream_base-inl.h +0 -458
- package/src/headers/10/stream_base.h +0 -378
- package/src/headers/10/stream_pipe.h +0 -72
- package/src/headers/10/stream_wrap.h +0 -130
- package/src/headers/10/string_bytes.h +0 -126
- package/src/headers/10/string_decoder-inl.h +0 -38
- package/src/headers/10/string_search.h +0 -620
- package/src/headers/10/tcp_wrap.h +0 -99
- package/src/headers/10/tls_wrap.h +0 -195
- package/src/headers/10/tracing/agent.h +0 -178
- package/src/headers/10/tracing/node_trace_buffer.h +0 -83
- package/src/headers/10/tracing/node_trace_writer.h +0 -75
- package/src/headers/10/tracing/trace_event.h +0 -706
- package/src/headers/10/tracing/trace_event_common.h +0 -1102
- package/src/headers/10/tracing/traced_value.h +0 -68
- package/src/headers/10/tty_wrap.h +0 -63
- package/src/headers/10/udp_wrap.h +0 -102
- package/src/headers/10/util-inl.h +0 -459
- package/src/headers/10/util.h +0 -508
- package/src/headers/10/v8abbr.h +0 -121
- package/src/headers/12/aliased_buffer.h +0 -263
- package/src/headers/12/debug_utils.h +0 -181
- package/src/headers/12/histogram-inl.h +0 -83
- package/src/headers/12/histogram.h +0 -98
- package/src/headers/12/http_parser_adaptor.h +0 -24
- package/src/headers/12/inspector_agent.h +0 -147
- package/src/headers/12/inspector_profiler.h +0 -137
- package/src/headers/12/js_native_api.h +0 -541
- package/src/headers/12/js_native_api_types.h +0 -139
- package/src/headers/12/memory_tracker-inl.h +0 -339
- package/src/headers/12/memory_tracker.h +0 -283
- package/src/headers/12/module_wrap.h +0 -99
- package/src/headers/12/node.h +0 -887
- package/src/headers/12/node_api.h +0 -239
- package/src/headers/12/node_buffer.h +0 -92
- package/src/headers/12/node_constants.h +0 -80
- package/src/headers/12/node_crypto.h +0 -800
- package/src/headers/12/node_crypto_bio.h +0 -195
- package/src/headers/12/node_crypto_clienthello-inl.h +0 -91
- package/src/headers/12/node_crypto_clienthello.h +0 -132
- package/src/headers/12/node_file-inl.h +0 -289
- package/src/headers/12/node_http2.h +0 -1311
- package/src/headers/12/node_http_parser_impl.h +0 -994
- package/src/headers/12/node_i18n.h +0 -144
- package/src/headers/12/node_messaging.h +0 -227
- package/src/headers/12/node_options-inl.h +0 -447
- package/src/headers/12/node_options.h +0 -479
- package/src/headers/12/node_perf.h +0 -181
- package/src/headers/12/node_process.h +0 -41
- package/src/headers/12/node_report.h +0 -47
- package/src/headers/12/node_revert.h +0 -78
- package/src/headers/12/node_sockaddr.h +0 -123
- package/src/headers/12/node_stat_watcher.h +0 -66
- package/src/headers/12/node_url.h +0 -188
- package/src/headers/12/node_version.h +0 -98
- package/src/headers/12/node_watchdog.h +0 -152
- package/src/headers/12/node_win32_etw_provider-inl.h +0 -287
- package/src/headers/12/node_win32_etw_provider.h +0 -99
- package/src/headers/12/node_worker.h +0 -142
- package/src/headers/12/req_wrap.h +0 -77
- package/src/headers/12/sharedarraybuffer_metadata.h +0 -72
- package/src/headers/12/stream_base-inl.h +0 -323
- package/src/headers/12/stream_base.h +0 -431
- package/src/headers/12/stream_pipe.h +0 -72
- package/src/headers/12/string_bytes.h +0 -142
- package/src/headers/12/string_decoder.h +0 -50
- package/src/headers/12/string_search.h +0 -638
- package/src/headers/12/tracing/agent.h +0 -195
- package/src/headers/12/tracing/trace_event.h +0 -710
- package/src/headers/12/tty_wrap.h +0 -64
- package/src/headers/12/udp_wrap.h +0 -222
- package/src/headers/12/util-inl.h +0 -529
- package/src/headers/12/util.h +0 -765
- package/src/headers/13/async_wrap-inl.h +0 -94
- package/src/headers/13/async_wrap.h +0 -224
- package/src/headers/13/base64.h +0 -197
- package/src/headers/13/base_object-inl.h +0 -353
- package/src/headers/13/base_object.h +0 -229
- package/src/headers/13/connect_wrap.h +0 -26
- package/src/headers/13/connection_wrap.h +0 -30
- package/src/headers/13/debug_utils-inl.h +0 -223
- package/src/headers/13/diagnosticfilename-inl.h +0 -33
- package/src/headers/13/env-inl.h +0 -1293
- package/src/headers/13/env.h +0 -1469
- package/src/headers/13/handle_wrap.h +0 -117
- package/src/headers/13/histogram-inl.h +0 -83
- package/src/headers/13/histogram.h +0 -98
- package/src/headers/13/inspector_io.h +0 -78
- package/src/headers/13/inspector_socket.h +0 -60
- package/src/headers/13/inspector_socket_server.h +0 -110
- package/src/headers/13/js_native_api.h +0 -541
- package/src/headers/13/js_native_api_v8.h +0 -303
- package/src/headers/13/js_native_api_v8_internals.h +0 -38
- package/src/headers/13/js_stream.h +0 -52
- package/src/headers/13/json_utils.h +0 -160
- package/src/headers/13/node_api.h +0 -239
- package/src/headers/13/node_api_types.h +0 -44
- package/src/headers/13/node_binding.h +0 -99
- package/src/headers/13/node_context_data.h +0 -39
- package/src/headers/13/node_contextify.h +0 -161
- package/src/headers/13/node_crypto.h +0 -800
- package/src/headers/13/node_crypto_common.h +0 -138
- package/src/headers/13/node_crypto_groups.h +0 -415
- package/src/headers/13/node_dir.h +0 -52
- package/src/headers/13/node_dtrace.h +0 -86
- package/src/headers/13/node_errors.h +0 -210
- package/src/headers/13/node_file.h +0 -364
- package/src/headers/13/node_http2_state.h +0 -144
- package/src/headers/13/node_internals.h +0 -405
- package/src/headers/13/node_main_instance.h +0 -97
- package/src/headers/13/node_mem-inl.h +0 -112
- package/src/headers/13/node_mem.h +0 -41
- package/src/headers/13/node_metadata.h +0 -109
- package/src/headers/13/node_mutex.h +0 -247
- package/src/headers/13/node_native_module.h +0 -99
- package/src/headers/13/node_native_module_env.h +0 -65
- package/src/headers/13/node_object_wrap.h +0 -132
- package/src/headers/13/node_perf.h +0 -181
- package/src/headers/13/node_perf_common.h +0 -97
- package/src/headers/13/node_platform.h +0 -190
- package/src/headers/13/node_process.h +0 -41
- package/src/headers/13/node_root_certs.h +0 -3424
- package/src/headers/13/node_sockaddr-inl.h +0 -170
- package/src/headers/13/node_sockaddr.h +0 -123
- package/src/headers/13/node_union_bytes.h +0 -103
- package/src/headers/13/node_v8_platform-inl.h +0 -184
- package/src/headers/13/node_wasi.h +0 -108
- package/src/headers/13/node_win32_etw_provider-inl.h +0 -287
- package/src/headers/13/node_win32_etw_provider.h +0 -99
- package/src/headers/13/pipe_wrap.h +0 -78
- package/src/headers/13/req_wrap-inl.h +0 -170
- package/src/headers/13/spawn_sync.h +0 -242
- package/src/headers/13/stream_wrap.h +0 -130
- package/src/headers/13/string_decoder-inl.h +0 -37
- package/src/headers/13/string_decoder.h +0 -50
- package/src/headers/13/tcp_wrap.h +0 -101
- package/src/headers/13/threadpoolwork-inl.h +0 -57
- package/src/headers/13/tls_wrap.h +0 -221
- package/src/headers/13/tracing/node_trace_buffer.h +0 -83
- package/src/headers/13/tracing/node_trace_writer.h +0 -75
- package/src/headers/13/tracing/trace_event_common.h +0 -1109
- package/src/headers/13/tracing/traced_value.h +0 -70
- package/src/headers/13/v8abbr.h +0 -124
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
|
|
25
25
|
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
26
26
|
|
|
27
|
+
#include <type_traits> // std::remove_reference
|
|
27
28
|
#include "memory_tracker.h"
|
|
28
29
|
#include "v8.h"
|
|
29
|
-
#include <type_traits> // std::remove_reference
|
|
30
30
|
|
|
31
31
|
namespace node {
|
|
32
32
|
|
|
@@ -34,6 +34,10 @@ class Environment;
|
|
|
34
34
|
template <typename T, bool kIsWeak>
|
|
35
35
|
class BaseObjectPtrImpl;
|
|
36
36
|
|
|
37
|
+
namespace worker {
|
|
38
|
+
class TransferData;
|
|
39
|
+
}
|
|
40
|
+
|
|
37
41
|
class BaseObject : public MemoryRetainer {
|
|
38
42
|
public:
|
|
39
43
|
enum InternalFields { kSlot, kInternalFieldCount };
|
|
@@ -61,9 +65,11 @@ class BaseObject : public MemoryRetainer {
|
|
|
61
65
|
// was also passed to the `BaseObject()` constructor initially.
|
|
62
66
|
// This may return `nullptr` if the C++ object has not been constructed yet,
|
|
63
67
|
// e.g. when the JS object used `MakeLazilyInitializedJSTemplate`.
|
|
64
|
-
static inline
|
|
68
|
+
static inline void LazilyInitializedJSTemplateConstructor(
|
|
69
|
+
const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
70
|
+
static inline BaseObject* FromJSObject(v8::Local<v8::Value> object);
|
|
65
71
|
template <typename T>
|
|
66
|
-
static inline T* FromJSObject(v8::Local<v8::
|
|
72
|
+
static inline T* FromJSObject(v8::Local<v8::Value> object);
|
|
67
73
|
|
|
68
74
|
// Make the `v8::Global` a weak reference and, `delete` this object once
|
|
69
75
|
// the JS object has been garbage collected and there are no (strong)
|
|
@@ -74,6 +80,11 @@ class BaseObject : public MemoryRetainer {
|
|
|
74
80
|
// root and will not be touched by the garbage collector.
|
|
75
81
|
inline void ClearWeak();
|
|
76
82
|
|
|
83
|
+
// Reports whether this BaseObject is using a weak reference or detached,
|
|
84
|
+
// i.e. whether is can be deleted by GC once no strong BaseObjectPtrs refer
|
|
85
|
+
// to it anymore.
|
|
86
|
+
inline bool IsWeakOrDetached() const;
|
|
87
|
+
|
|
77
88
|
// Utility to create a FunctionTemplate with one internal field (used for
|
|
78
89
|
// the `BaseObject*` pointer) and a constructor that initializes that field
|
|
79
90
|
// to `nullptr`.
|
|
@@ -84,7 +95,7 @@ class BaseObject : public MemoryRetainer {
|
|
|
84
95
|
template <int Field>
|
|
85
96
|
static void InternalFieldGet(v8::Local<v8::String> property,
|
|
86
97
|
const v8::PropertyCallbackInfo<v8::Value>& info);
|
|
87
|
-
template <int Field, bool (v8::Value::*
|
|
98
|
+
template <int Field, bool (v8::Value::*typecheck)() const>
|
|
88
99
|
static void InternalFieldSet(v8::Local<v8::String> property,
|
|
89
100
|
v8::Local<v8::Value> value,
|
|
90
101
|
const v8::PropertyCallbackInfo<void>& info);
|
|
@@ -92,24 +103,75 @@ class BaseObject : public MemoryRetainer {
|
|
|
92
103
|
// This is a bit of a hack. See the override in async_wrap.cc for details.
|
|
93
104
|
virtual bool IsDoneInitializing() const;
|
|
94
105
|
|
|
95
|
-
// Can be used to avoid this object
|
|
106
|
+
// Can be used to avoid this object keeping itself alive as a GC root
|
|
96
107
|
// indefinitely, for example when this object is owned and deleted by another
|
|
97
108
|
// BaseObject once that is torn down. This can only be called when there is
|
|
98
109
|
// a BaseObjectPtr to this object.
|
|
99
110
|
inline void Detach();
|
|
100
111
|
|
|
101
|
-
|
|
112
|
+
static v8::Local<v8::FunctionTemplate> GetConstructorTemplate(
|
|
113
|
+
Environment* env);
|
|
114
|
+
|
|
115
|
+
// Interface for transferring BaseObject instances using the .postMessage()
|
|
116
|
+
// method of MessagePorts (and, by extension, Workers).
|
|
117
|
+
// GetTransferMode() returns a transfer mode that indicates how to deal with
|
|
118
|
+
// the current object:
|
|
119
|
+
// - kUntransferable:
|
|
120
|
+
// No transfer is possible, either because this type of BaseObject does
|
|
121
|
+
// not know how to be transferred, or because it is not in a state in
|
|
122
|
+
// which it is possible to do so (e.g. because it has already been
|
|
123
|
+
// transferred).
|
|
124
|
+
// - kTransferable:
|
|
125
|
+
// This object can be transferred in a destructive fashion, i.e. will be
|
|
126
|
+
// rendered unusable on the sending side of the channel in the process
|
|
127
|
+
// of being transferred. (In C++ this would be referred to as movable but
|
|
128
|
+
// not copyable.) Objects of this type need to be listed in the
|
|
129
|
+
// `transferList` argument of the relevant postMessage() call in order to
|
|
130
|
+
// make sure that they are not accidentally destroyed on the sending side.
|
|
131
|
+
// TransferForMessaging() will be called to get a representation of the
|
|
132
|
+
// object that is used for subsequent deserialization.
|
|
133
|
+
// The NestedTransferables() method can be used to transfer other objects
|
|
134
|
+
// along with this one, if a situation requires it.
|
|
135
|
+
// - kCloneable:
|
|
136
|
+
// This object can be cloned without being modified.
|
|
137
|
+
// CloneForMessaging() will be called to get a representation of the
|
|
138
|
+
// object that is used for subsequent deserialization, unless the
|
|
139
|
+
// object is listed in transferList, in which case TransferForMessaging()
|
|
140
|
+
// is attempted first.
|
|
141
|
+
// After a successful clone, FinalizeTransferRead() is called on the receiving
|
|
142
|
+
// end, and can read deserialize JS data possibly serialized by a previous
|
|
143
|
+
// FinalizeTransferWrite() call.
|
|
144
|
+
enum class TransferMode {
|
|
145
|
+
kUntransferable,
|
|
146
|
+
kTransferable,
|
|
147
|
+
kCloneable
|
|
148
|
+
};
|
|
149
|
+
virtual TransferMode GetTransferMode() const;
|
|
150
|
+
virtual std::unique_ptr<worker::TransferData> TransferForMessaging();
|
|
151
|
+
virtual std::unique_ptr<worker::TransferData> CloneForMessaging() const;
|
|
152
|
+
virtual v8::Maybe<std::vector<BaseObjectPtrImpl<BaseObject, false>>>
|
|
153
|
+
NestedTransferables() const;
|
|
154
|
+
virtual v8::Maybe<bool> FinalizeTransferRead(
|
|
155
|
+
v8::Local<v8::Context> context, v8::ValueDeserializer* deserializer);
|
|
156
|
+
|
|
157
|
+
// Indicates whether this object is expected to use a strong reference during
|
|
158
|
+
// a clean process exit (due to an empty event loop).
|
|
159
|
+
virtual bool IsNotIndicativeOfMemoryLeakAtExit() const;
|
|
160
|
+
|
|
102
161
|
virtual inline void OnGCCollect();
|
|
103
162
|
|
|
163
|
+
virtual inline bool is_snapshotable() const { return false; }
|
|
164
|
+
|
|
104
165
|
private:
|
|
105
166
|
v8::Local<v8::Object> WrappedObject() const override;
|
|
167
|
+
bool IsRootNode() const override;
|
|
106
168
|
static void DeleteMe(void* data);
|
|
107
169
|
|
|
108
170
|
// persistent_handle_ needs to be at a fixed offset from the start of the
|
|
109
171
|
// class because it is used by src/node_postmortem_metadata.cc to calculate
|
|
110
172
|
// offsets and generate debug symbols for BaseObject, which assumes that the
|
|
111
173
|
// position of members in memory are predictable. For more information please
|
|
112
|
-
// refer to `doc/
|
|
174
|
+
// refer to `doc/contributing/node-postmortem-support.md`
|
|
113
175
|
friend int GenDebugSymbols();
|
|
114
176
|
friend class CleanupHookCallback;
|
|
115
177
|
template <typename T, bool kIsWeak>
|
|
@@ -131,7 +193,7 @@ class BaseObject : public MemoryRetainer {
|
|
|
131
193
|
// Indicates whether MakeWeak() has been called.
|
|
132
194
|
bool wants_weak_jsobj = false;
|
|
133
195
|
// Indicates whether Detach() has been called. If that is the case, this
|
|
134
|
-
// object will be
|
|
196
|
+
// object will be destroyed once the strong pointer count drops to zero.
|
|
135
197
|
bool is_detached = false;
|
|
136
198
|
// Reference to the original BaseObject. This is used by weak pointers.
|
|
137
199
|
BaseObject* self = nullptr;
|
|
@@ -152,17 +214,15 @@ class BaseObject : public MemoryRetainer {
|
|
|
152
214
|
|
|
153
215
|
// Global alias for FromJSObject() to avoid churn.
|
|
154
216
|
template <typename T>
|
|
155
|
-
inline T* Unwrap(v8::Local<v8::
|
|
217
|
+
inline T* Unwrap(v8::Local<v8::Value> obj) {
|
|
156
218
|
return BaseObject::FromJSObject<T>(obj);
|
|
157
219
|
}
|
|
158
220
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
if (*ptr == nullptr) \
|
|
165
|
-
return __VA_ARGS__; \
|
|
221
|
+
#define ASSIGN_OR_RETURN_UNWRAP(ptr, obj, ...) \
|
|
222
|
+
do { \
|
|
223
|
+
*ptr = static_cast<typename std::remove_reference<decltype(*ptr)>::type>( \
|
|
224
|
+
BaseObject::FromJSObject(obj)); \
|
|
225
|
+
if (*ptr == nullptr) return __VA_ARGS__; \
|
|
166
226
|
} while (0)
|
|
167
227
|
|
|
168
228
|
// Implementation of a generic strong or weak pointer to a BaseObject.
|
|
@@ -196,9 +256,14 @@ class BaseObjectPtrImpl final {
|
|
|
196
256
|
inline T* operator->() const;
|
|
197
257
|
inline operator bool() const;
|
|
198
258
|
|
|
259
|
+
template <typename U, bool kW>
|
|
260
|
+
inline bool operator ==(const BaseObjectPtrImpl<U, kW>& other) const;
|
|
261
|
+
template <typename U, bool kW>
|
|
262
|
+
inline bool operator !=(const BaseObjectPtrImpl<U, kW>& other) const;
|
|
263
|
+
|
|
199
264
|
private:
|
|
200
265
|
union {
|
|
201
|
-
BaseObject* target;
|
|
266
|
+
BaseObject* target; // Used for strong pointers.
|
|
202
267
|
BaseObject::PointerData* pointer_data; // Used for weak pointers.
|
|
203
268
|
} data_;
|
|
204
269
|
|
|
@@ -10,8 +10,8 @@ namespace node {
|
|
|
10
10
|
template <typename R, typename... Args>
|
|
11
11
|
template <typename Fn>
|
|
12
12
|
std::unique_ptr<typename CallbackQueue<R, Args...>::Callback>
|
|
13
|
-
CallbackQueue<R, Args...>::CreateCallback(Fn&& fn,
|
|
14
|
-
return std::make_unique<CallbackImpl<Fn>>(std::move(fn),
|
|
13
|
+
CallbackQueue<R, Args...>::CreateCallback(Fn&& fn, CallbackFlags::Flags flags) {
|
|
14
|
+
return std::make_unique<CallbackImpl<Fn>>(std::move(fn), flags);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
template <typename R, typename... Args>
|
|
@@ -22,8 +22,8 @@ CallbackQueue<R, Args...>::Shift() {
|
|
|
22
22
|
head_ = ret->get_next();
|
|
23
23
|
if (!head_)
|
|
24
24
|
tail_ = nullptr; // The queue is now empty.
|
|
25
|
+
size_--;
|
|
25
26
|
}
|
|
26
|
-
size_--;
|
|
27
27
|
return ret;
|
|
28
28
|
}
|
|
29
29
|
|
|
@@ -57,12 +57,12 @@ size_t CallbackQueue<R, Args...>::size() const {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
template <typename R, typename... Args>
|
|
60
|
-
CallbackQueue<R, Args...>::Callback::Callback(
|
|
61
|
-
:
|
|
60
|
+
CallbackQueue<R, Args...>::Callback::Callback(CallbackFlags::Flags flags)
|
|
61
|
+
: flags_(flags) {}
|
|
62
62
|
|
|
63
63
|
template <typename R, typename... Args>
|
|
64
|
-
|
|
65
|
-
return
|
|
64
|
+
CallbackFlags::Flags CallbackQueue<R, Args...>::Callback::flags() const {
|
|
65
|
+
return flags_;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
template <typename R, typename... Args>
|
|
@@ -80,8 +80,8 @@ void CallbackQueue<R, Args...>::Callback::set_next(
|
|
|
80
80
|
template <typename R, typename... Args>
|
|
81
81
|
template <typename Fn>
|
|
82
82
|
CallbackQueue<R, Args...>::CallbackImpl<Fn>::CallbackImpl(
|
|
83
|
-
Fn&& callback,
|
|
84
|
-
: Callback(
|
|
83
|
+
Fn&& callback, CallbackFlags::Flags flags)
|
|
84
|
+
: Callback(flags),
|
|
85
85
|
callback_(std::move(callback)) {}
|
|
86
86
|
|
|
87
87
|
template <typename R, typename... Args>
|
|
@@ -7,6 +7,13 @@
|
|
|
7
7
|
|
|
8
8
|
namespace node {
|
|
9
9
|
|
|
10
|
+
namespace CallbackFlags {
|
|
11
|
+
enum Flags {
|
|
12
|
+
kUnrefed = 0,
|
|
13
|
+
kRefed = 1,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
|
|
10
17
|
// A queue of C++ functions that take Args... as arguments and return R
|
|
11
18
|
// (this is similar to the signature of std::function).
|
|
12
19
|
// New entries are added using `CreateCallback()`/`Push()`, and removed using
|
|
@@ -18,25 +25,26 @@ class CallbackQueue {
|
|
|
18
25
|
public:
|
|
19
26
|
class Callback {
|
|
20
27
|
public:
|
|
21
|
-
explicit inline Callback(
|
|
28
|
+
explicit inline Callback(CallbackFlags::Flags flags);
|
|
22
29
|
|
|
23
30
|
virtual ~Callback() = default;
|
|
24
31
|
virtual R Call(Args... args) = 0;
|
|
25
32
|
|
|
26
|
-
inline
|
|
33
|
+
inline CallbackFlags::Flags flags() const;
|
|
27
34
|
|
|
28
35
|
private:
|
|
29
36
|
inline std::unique_ptr<Callback> get_next();
|
|
30
37
|
inline void set_next(std::unique_ptr<Callback> next);
|
|
31
38
|
|
|
32
|
-
|
|
39
|
+
CallbackFlags::Flags flags_;
|
|
33
40
|
std::unique_ptr<Callback> next_;
|
|
34
41
|
|
|
35
42
|
friend class CallbackQueue;
|
|
36
43
|
};
|
|
37
44
|
|
|
38
45
|
template <typename Fn>
|
|
39
|
-
inline std::unique_ptr<Callback> CreateCallback(
|
|
46
|
+
inline std::unique_ptr<Callback> CreateCallback(
|
|
47
|
+
Fn&& fn, CallbackFlags::Flags);
|
|
40
48
|
|
|
41
49
|
inline std::unique_ptr<Callback> Shift();
|
|
42
50
|
inline void Push(std::unique_ptr<Callback> cb);
|
|
@@ -51,7 +59,7 @@ class CallbackQueue {
|
|
|
51
59
|
template <typename Fn>
|
|
52
60
|
class CallbackImpl final : public Callback {
|
|
53
61
|
public:
|
|
54
|
-
CallbackImpl(Fn&& callback,
|
|
62
|
+
CallbackImpl(Fn&& callback, CallbackFlags::Flags flags);
|
|
55
63
|
R Call(Args... args) override;
|
|
56
64
|
|
|
57
65
|
private:
|