@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.
Files changed (410) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/LICENSE +3 -2
  3. package/README.md +9 -2
  4. package/binding.gyp +2 -2
  5. package/dist/bindings/cws_darwin_arm64_node108.node +0 -0
  6. package/dist/bindings/cws_darwin_arm64_node64.node +0 -0
  7. package/dist/bindings/cws_darwin_arm64_node72.node +0 -0
  8. package/dist/bindings/cws_darwin_arm64_node79.node +0 -0
  9. package/dist/bindings/cws_darwin_arm64_node83.node +0 -0
  10. package/dist/bindings/cws_darwin_arm64_node93.node +0 -0
  11. package/dist/bindings/cws_darwin_x64_node108.node +0 -0
  12. package/dist/bindings/cws_darwin_x64_node64.node +0 -0
  13. package/dist/bindings/cws_darwin_x64_node72.node +0 -0
  14. package/dist/bindings/cws_darwin_x64_node79.node +0 -0
  15. package/dist/bindings/cws_darwin_x64_node83.node +0 -0
  16. package/dist/bindings/cws_darwin_x64_node93.node +0 -0
  17. package/dist/bindings/cws_linux_x64_node108.node +0 -0
  18. package/dist/bindings/cws_linux_x64_node64.node +0 -0
  19. package/dist/bindings/cws_linux_x64_node72.node +0 -0
  20. package/dist/bindings/cws_linux_x64_node79.node +0 -0
  21. package/dist/bindings/cws_linux_x64_node83.node +0 -0
  22. package/dist/bindings/cws_linux_x64_node93.node +0 -0
  23. package/dist/bindings/cws_win32_x64_node108.node +0 -0
  24. package/dist/bindings/cws_win32_x64_node64.node +0 -0
  25. package/dist/bindings/cws_win32_x64_node72.node +0 -0
  26. package/dist/bindings/cws_win32_x64_node79.node +0 -0
  27. package/dist/bindings/cws_win32_x64_node83.node +0 -0
  28. package/dist/bindings/cws_win32_x64_node93.node +0 -0
  29. package/dist/client.d.ts +1 -0
  30. package/dist/client.js +4 -0
  31. package/dist/index.js +3 -2
  32. package/dist/server.js +1 -0
  33. package/dist/shared.js +2 -1
  34. package/package.json +1 -1
  35. package/src/Addon.cpp +1 -0
  36. package/src/Addon.h +35 -2
  37. package/src/HTTPSocket.cpp +1 -1
  38. package/src/LICENSE +4 -0
  39. package/src/Socket.h +12 -3
  40. package/src/headers/{13 → 18}/aliased_buffer.h +61 -9
  41. package/src/headers/18/aliased_struct-inl.h +54 -0
  42. package/src/headers/18/aliased_struct.h +63 -0
  43. package/src/headers/{12 → 18}/async_wrap-inl.h +0 -0
  44. package/src/headers/{12 → 18}/async_wrap.h +26 -2
  45. package/src/headers/{12/base64.h → 18/base64-inl.h} +78 -86
  46. package/src/headers/18/base64.h +69 -0
  47. package/src/headers/{12 → 18}/base_object-inl.h +46 -25
  48. package/src/headers/{12 → 18}/base_object.h +82 -17
  49. package/src/headers/{12 → 18}/callback_queue-inl.h +9 -9
  50. package/src/headers/{12 → 18}/callback_queue.h +13 -5
  51. package/src/headers/18/cares_wrap.h +523 -0
  52. package/src/headers/{12 → 18}/connect_wrap.h +0 -0
  53. package/src/headers/{12 → 18}/connection_wrap.h +0 -0
  54. package/src/headers/18/crypto/crypto_aes.h +89 -0
  55. package/src/headers/{13/node_crypto_bio.h → 18/crypto/crypto_bio.h} +3 -4
  56. package/src/headers/18/crypto/crypto_cipher.h +291 -0
  57. package/src/headers/{13/node_crypto_clienthello-inl.h → 18/crypto/crypto_clienthello-inl.h} +4 -5
  58. package/src/headers/{13/node_crypto_clienthello.h → 18/crypto/crypto_clienthello.h} +3 -4
  59. package/src/headers/{12/node_crypto_common.h → 18/crypto/crypto_common.h} +49 -36
  60. package/src/headers/18/crypto/crypto_context.h +147 -0
  61. package/src/headers/18/crypto/crypto_dh.h +156 -0
  62. package/src/headers/18/crypto/crypto_dsa.h +77 -0
  63. package/src/headers/18/crypto/crypto_ec.h +170 -0
  64. package/src/headers/{12/node_crypto_groups.h → 18/crypto/crypto_groups.h} +3 -3
  65. package/src/headers/18/crypto/crypto_hash.h +89 -0
  66. package/src/headers/18/crypto/crypto_hkdf.h +65 -0
  67. package/src/headers/18/crypto/crypto_hmac.h +94 -0
  68. package/src/headers/18/crypto/crypto_keygen.h +305 -0
  69. package/src/headers/18/crypto/crypto_keys.h +420 -0
  70. package/src/headers/18/crypto/crypto_pbkdf2.h +76 -0
  71. package/src/headers/18/crypto/crypto_random.h +130 -0
  72. package/src/headers/18/crypto/crypto_rsa.h +141 -0
  73. package/src/headers/18/crypto/crypto_scrypt.h +87 -0
  74. package/src/headers/18/crypto/crypto_sig.h +168 -0
  75. package/src/headers/18/crypto/crypto_spkac.h +21 -0
  76. package/src/headers/18/crypto/crypto_timing.h +20 -0
  77. package/src/headers/{12/tls_wrap.h → 18/crypto/crypto_tls.h} +137 -66
  78. package/src/headers/18/crypto/crypto_util.h +791 -0
  79. package/src/headers/18/crypto/crypto_x509.h +143 -0
  80. package/src/headers/{12 → 18}/debug_utils-inl.h +0 -0
  81. package/src/headers/{13 → 18}/debug_utils.h +7 -4
  82. package/src/headers/{12 → 18}/diagnosticfilename-inl.h +0 -0
  83. package/src/headers/{12 → 18}/env-inl.h +397 -304
  84. package/src/headers/{12 → 18}/env.h +397 -172
  85. package/src/headers/{12 → 18}/handle_wrap.h +7 -3
  86. package/src/headers/18/histogram-inl.h +107 -0
  87. package/src/headers/18/histogram.h +239 -0
  88. package/src/headers/{13 → 18}/inspector_agent.h +4 -7
  89. package/src/headers/{12 → 18}/inspector_io.h +0 -0
  90. package/src/headers/{13 → 18}/inspector_profiler.h +17 -5
  91. package/src/headers/{12 → 18}/inspector_socket.h +0 -0
  92. package/src/headers/{12 → 18}/inspector_socket_server.h +0 -0
  93. package/src/headers/18/js_native_api.h +571 -0
  94. package/src/headers/{13 → 18}/js_native_api_types.h +30 -7
  95. package/src/headers/{12 → 18}/js_native_api_v8.h +220 -83
  96. package/src/headers/{12 → 18}/js_native_api_v8_internals.h +6 -5
  97. package/src/headers/{12 → 18}/js_stream.h +0 -0
  98. package/src/headers/{12 → 18}/json_utils.h +0 -0
  99. package/src/headers/{13 → 18}/memory_tracker-inl.h +6 -5
  100. package/src/headers/{13 → 18}/memory_tracker.h +0 -7
  101. package/src/headers/{13 → 18}/module_wrap.h +24 -7
  102. package/src/headers/{13 → 18}/node.h +329 -68
  103. package/src/headers/18/node_api.h +288 -0
  104. package/src/headers/18/node_api_internals.h +38 -0
  105. package/src/headers/{12 → 18}/node_api_types.h +12 -9
  106. package/src/headers/{12 → 18}/node_binding.h +0 -0
  107. package/src/headers/18/node_blob.h +191 -0
  108. package/src/headers/18/node_bob-inl.h +37 -0
  109. package/src/headers/18/node_bob.h +111 -0
  110. package/src/headers/{13 → 18}/node_buffer.h +0 -0
  111. package/src/headers/{13 → 18}/node_constants.h +5 -1
  112. package/src/headers/{12 → 18}/node_context_data.h +5 -0
  113. package/src/headers/{12 → 18}/node_contextify.h +37 -2
  114. package/src/headers/{10/node_javascript.h → 18/node_crypto.h} +30 -14
  115. package/src/headers/{12 → 18}/node_dir.h +0 -0
  116. package/src/headers/{12 → 18}/node_dtrace.h +0 -0
  117. package/src/headers/{12 → 18}/node_errors.h +90 -24
  118. package/src/headers/18/node_external_reference.h +145 -0
  119. package/src/headers/{13 → 18}/node_file-inl.h +38 -21
  120. package/src/headers/{12 → 18}/node_file.h +74 -13
  121. package/src/headers/{13 → 18}/node_http2.h +365 -269
  122. package/src/headers/{12 → 18}/node_http2_state.h +40 -50
  123. package/src/headers/{13 → 18}/node_http_common-inl.h +25 -5
  124. package/src/headers/{13 → 18}/node_http_common.h +24 -20
  125. package/src/headers/{13 → 18}/node_i18n.h +2 -1
  126. package/src/headers/{12 → 18}/node_internals.h +39 -41
  127. package/src/headers/{12 → 18}/node_main_instance.h +15 -18
  128. package/src/headers/{12 → 18}/node_mem-inl.h +0 -0
  129. package/src/headers/{12 → 18}/node_mem.h +1 -1
  130. package/src/headers/{13 → 18}/node_messaging.h +170 -23
  131. package/src/headers/{12 → 18}/node_metadata.h +17 -4
  132. package/src/headers/{12 → 18}/node_mutex.h +77 -1
  133. package/src/headers/{12 → 18}/node_native_module.h +11 -1
  134. package/src/headers/{12 → 18}/node_native_module_env.h +14 -8
  135. package/src/headers/{12 → 18}/node_object_wrap.h +0 -0
  136. package/src/headers/{13 → 18}/node_options-inl.h +51 -21
  137. package/src/headers/{13 → 18}/node_options.h +46 -14
  138. package/src/headers/18/node_perf.h +168 -0
  139. package/src/headers/{12 → 18}/node_perf_common.h +16 -22
  140. package/src/headers/{12 → 18}/node_platform.h +21 -16
  141. package/src/headers/18/node_process-inl.h +26 -0
  142. package/src/headers/18/node_process.h +97 -0
  143. package/src/headers/{13 → 18}/node_report.h +2 -2
  144. package/src/headers/{13 → 18}/node_revert.h +10 -0
  145. package/src/headers/{12 → 18}/node_root_certs.h +439 -651
  146. package/src/headers/18/node_snapshot_builder.h +43 -0
  147. package/src/headers/18/node_snapshotable.h +130 -0
  148. package/src/headers/{12 → 18}/node_sockaddr-inl.h +100 -4
  149. package/src/headers/18/node_sockaddr.h +405 -0
  150. package/src/headers/{13 → 18}/node_stat_watcher.h +7 -1
  151. package/src/headers/{12 → 18}/node_union_bytes.h +0 -0
  152. package/src/headers/{13 → 18}/node_url.h +18 -1
  153. package/src/headers/18/node_v8.h +41 -0
  154. package/src/headers/{12 → 18}/node_v8_platform-inl.h +10 -0
  155. package/src/headers/{13 → 18}/node_version.h +7 -7
  156. package/src/headers/{12 → 18}/node_wasi.h +0 -0
  157. package/src/headers/18/node_wasm_web_api.h +55 -0
  158. package/src/headers/{13 → 18}/node_watchdog.h +0 -0
  159. package/src/headers/{10 → 18}/node_win32_etw_provider-inl.h +7 -6
  160. package/src/headers/{10 → 18}/node_win32_etw_provider.h +0 -0
  161. package/src/headers/{13 → 18}/node_worker.h +24 -17
  162. package/src/headers/{12 → 18}/pipe_wrap.h +2 -0
  163. package/src/headers/{12 → 18}/req_wrap-inl.h +0 -0
  164. package/src/headers/{13 → 18}/req_wrap.h +1 -1
  165. package/src/headers/{12 → 18}/spawn_sync.h +0 -0
  166. package/src/headers/{13 → 18}/stream_base-inl.h +58 -22
  167. package/src/headers/{13 → 18}/stream_base.h +29 -3
  168. package/src/headers/{13 → 18}/stream_pipe.h +8 -3
  169. package/src/headers/{12 → 18}/stream_wrap.h +4 -1
  170. package/src/headers/{13 → 18}/string_bytes.h +0 -7
  171. package/src/headers/{12 → 18}/string_decoder-inl.h +0 -0
  172. package/src/headers/{10 → 18}/string_decoder.h +0 -0
  173. package/src/headers/{13 → 18}/string_search.h +2 -2
  174. package/src/headers/{12 → 18}/tcp_wrap.h +4 -0
  175. package/src/headers/{12 → 18}/threadpoolwork-inl.h +0 -0
  176. package/src/headers/18/timer_wrap-inl.h +32 -0
  177. package/src/headers/18/timer_wrap.h +85 -0
  178. package/src/headers/{13 → 18}/tracing/agent.h +1 -1
  179. package/src/headers/{12 → 18}/tracing/node_trace_buffer.h +0 -0
  180. package/src/headers/{12 → 18}/tracing/node_trace_writer.h +0 -0
  181. package/src/headers/{13 → 18}/tracing/trace_event.h +23 -13
  182. package/src/headers/{12 → 18}/tracing/trace_event_common.h +0 -0
  183. package/src/headers/{12 → 18}/tracing/traced_value.h +0 -0
  184. package/src/headers/{13 → 18}/tty_wrap.h +2 -1
  185. package/src/headers/{13 → 18}/udp_wrap.h +5 -0
  186. package/src/headers/{13 → 18}/util-inl.h +69 -15
  187. package/src/headers/{13 → 18}/util.h +93 -31
  188. package/src/headers/18/v8-fast-api-calls.h +939 -0
  189. package/src/headers/{12 → 18}/v8abbr.h +2 -2
  190. package/dist/bindings/cws_darwin_64.node +0 -0
  191. package/dist/bindings/cws_darwin_72.node +0 -0
  192. package/dist/bindings/cws_darwin_79.node +0 -0
  193. package/dist/bindings/cws_darwin_83.node +0 -0
  194. package/dist/bindings/cws_darwin_93.node +0 -0
  195. package/dist/bindings/cws_linux_64.node +0 -0
  196. package/dist/bindings/cws_linux_72.node +0 -0
  197. package/dist/bindings/cws_linux_79.node +0 -0
  198. package/dist/bindings/cws_linux_83.node +0 -0
  199. package/dist/bindings/cws_linux_93.node +0 -0
  200. package/dist/bindings/cws_win32_64.node +0 -0
  201. package/dist/bindings/cws_win32_72.node +0 -0
  202. package/dist/bindings/cws_win32_79.node +0 -0
  203. package/dist/bindings/cws_win32_83.node +0 -0
  204. package/dist/bindings/cws_win32_93.node +0 -0
  205. package/src/headers/10/aliased_buffer.h +0 -241
  206. package/src/headers/10/async_wrap-inl.h +0 -106
  207. package/src/headers/10/async_wrap.h +0 -218
  208. package/src/headers/10/base64.h +0 -197
  209. package/src/headers/10/base_object-inl.h +0 -132
  210. package/src/headers/10/base_object.h +0 -115
  211. package/src/headers/10/connect_wrap.h +0 -28
  212. package/src/headers/10/connection_wrap.h +0 -30
  213. package/src/headers/10/debug_utils.h +0 -128
  214. package/src/headers/10/env-inl.h +0 -906
  215. package/src/headers/10/env.h +0 -1046
  216. package/src/headers/10/handle_wrap.h +0 -114
  217. package/src/headers/10/inspector_agent.h +0 -137
  218. package/src/headers/10/inspector_io.h +0 -97
  219. package/src/headers/10/inspector_socket.h +0 -59
  220. package/src/headers/10/inspector_socket_server.h +0 -104
  221. package/src/headers/10/js_stream.h +0 -57
  222. package/src/headers/10/memory_tracker-inl.h +0 -318
  223. package/src/headers/10/memory_tracker.h +0 -246
  224. package/src/headers/10/module_wrap.h +0 -100
  225. package/src/headers/10/node.h +0 -863
  226. package/src/headers/10/node_api.h +0 -752
  227. package/src/headers/10/node_api_types.h +0 -171
  228. package/src/headers/10/node_buffer.h +0 -90
  229. package/src/headers/10/node_code_cache.h +0 -17
  230. package/src/headers/10/node_constants.h +0 -74
  231. package/src/headers/10/node_context_data.h +0 -39
  232. package/src/headers/10/node_contextify.h +0 -141
  233. package/src/headers/10/node_counters.h +0 -59
  234. package/src/headers/10/node_crypto.h +0 -699
  235. package/src/headers/10/node_crypto_bio.h +0 -177
  236. package/src/headers/10/node_crypto_clienthello-inl.h +0 -92
  237. package/src/headers/10/node_crypto_clienthello.h +0 -131
  238. package/src/headers/10/node_crypto_groups.h +0 -416
  239. package/src/headers/10/node_dtrace.h +0 -84
  240. package/src/headers/10/node_errors.h +0 -118
  241. package/src/headers/10/node_file.h +0 -373
  242. package/src/headers/10/node_http2.h +0 -1304
  243. package/src/headers/10/node_http2_state.h +0 -158
  244. package/src/headers/10/node_i18n.h +0 -69
  245. package/src/headers/10/node_internals.h +0 -952
  246. package/src/headers/10/node_messaging.h +0 -219
  247. package/src/headers/10/node_mutex.h +0 -191
  248. package/src/headers/10/node_object_wrap.h +0 -130
  249. package/src/headers/10/node_options-inl.h +0 -444
  250. package/src/headers/10/node_options.h +0 -397
  251. package/src/headers/10/node_perf.h +0 -134
  252. package/src/headers/10/node_perf_common.h +0 -96
  253. package/src/headers/10/node_persistent.h +0 -30
  254. package/src/headers/10/node_platform.h +0 -170
  255. package/src/headers/10/node_revert.h +0 -75
  256. package/src/headers/10/node_root_certs.h +0 -3393
  257. package/src/headers/10/node_stat_watcher.h +0 -65
  258. package/src/headers/10/node_url.h +0 -193
  259. package/src/headers/10/node_version.h +0 -120
  260. package/src/headers/10/node_watchdog.h +0 -114
  261. package/src/headers/10/node_win32_perfctr_provider.h +0 -58
  262. package/src/headers/10/node_worker.h +0 -94
  263. package/src/headers/10/pipe_wrap.h +0 -76
  264. package/src/headers/10/req_wrap-inl.h +0 -166
  265. package/src/headers/10/req_wrap.h +0 -61
  266. package/src/headers/10/sharedarraybuffer_metadata.h +0 -67
  267. package/src/headers/10/spawn_sync.h +0 -240
  268. package/src/headers/10/stream_base-inl.h +0 -458
  269. package/src/headers/10/stream_base.h +0 -378
  270. package/src/headers/10/stream_pipe.h +0 -72
  271. package/src/headers/10/stream_wrap.h +0 -130
  272. package/src/headers/10/string_bytes.h +0 -126
  273. package/src/headers/10/string_decoder-inl.h +0 -38
  274. package/src/headers/10/string_search.h +0 -620
  275. package/src/headers/10/tcp_wrap.h +0 -99
  276. package/src/headers/10/tls_wrap.h +0 -195
  277. package/src/headers/10/tracing/agent.h +0 -178
  278. package/src/headers/10/tracing/node_trace_buffer.h +0 -83
  279. package/src/headers/10/tracing/node_trace_writer.h +0 -75
  280. package/src/headers/10/tracing/trace_event.h +0 -706
  281. package/src/headers/10/tracing/trace_event_common.h +0 -1102
  282. package/src/headers/10/tracing/traced_value.h +0 -68
  283. package/src/headers/10/tty_wrap.h +0 -63
  284. package/src/headers/10/udp_wrap.h +0 -102
  285. package/src/headers/10/util-inl.h +0 -459
  286. package/src/headers/10/util.h +0 -508
  287. package/src/headers/10/v8abbr.h +0 -121
  288. package/src/headers/12/aliased_buffer.h +0 -263
  289. package/src/headers/12/debug_utils.h +0 -181
  290. package/src/headers/12/histogram-inl.h +0 -83
  291. package/src/headers/12/histogram.h +0 -98
  292. package/src/headers/12/http_parser_adaptor.h +0 -24
  293. package/src/headers/12/inspector_agent.h +0 -147
  294. package/src/headers/12/inspector_profiler.h +0 -137
  295. package/src/headers/12/js_native_api.h +0 -541
  296. package/src/headers/12/js_native_api_types.h +0 -139
  297. package/src/headers/12/memory_tracker-inl.h +0 -339
  298. package/src/headers/12/memory_tracker.h +0 -283
  299. package/src/headers/12/module_wrap.h +0 -99
  300. package/src/headers/12/node.h +0 -887
  301. package/src/headers/12/node_api.h +0 -239
  302. package/src/headers/12/node_buffer.h +0 -92
  303. package/src/headers/12/node_constants.h +0 -80
  304. package/src/headers/12/node_crypto.h +0 -800
  305. package/src/headers/12/node_crypto_bio.h +0 -195
  306. package/src/headers/12/node_crypto_clienthello-inl.h +0 -91
  307. package/src/headers/12/node_crypto_clienthello.h +0 -132
  308. package/src/headers/12/node_file-inl.h +0 -289
  309. package/src/headers/12/node_http2.h +0 -1311
  310. package/src/headers/12/node_http_parser_impl.h +0 -994
  311. package/src/headers/12/node_i18n.h +0 -144
  312. package/src/headers/12/node_messaging.h +0 -227
  313. package/src/headers/12/node_options-inl.h +0 -447
  314. package/src/headers/12/node_options.h +0 -479
  315. package/src/headers/12/node_perf.h +0 -181
  316. package/src/headers/12/node_process.h +0 -41
  317. package/src/headers/12/node_report.h +0 -47
  318. package/src/headers/12/node_revert.h +0 -78
  319. package/src/headers/12/node_sockaddr.h +0 -123
  320. package/src/headers/12/node_stat_watcher.h +0 -66
  321. package/src/headers/12/node_url.h +0 -188
  322. package/src/headers/12/node_version.h +0 -98
  323. package/src/headers/12/node_watchdog.h +0 -152
  324. package/src/headers/12/node_win32_etw_provider-inl.h +0 -287
  325. package/src/headers/12/node_win32_etw_provider.h +0 -99
  326. package/src/headers/12/node_worker.h +0 -142
  327. package/src/headers/12/req_wrap.h +0 -77
  328. package/src/headers/12/sharedarraybuffer_metadata.h +0 -72
  329. package/src/headers/12/stream_base-inl.h +0 -323
  330. package/src/headers/12/stream_base.h +0 -431
  331. package/src/headers/12/stream_pipe.h +0 -72
  332. package/src/headers/12/string_bytes.h +0 -142
  333. package/src/headers/12/string_decoder.h +0 -50
  334. package/src/headers/12/string_search.h +0 -638
  335. package/src/headers/12/tracing/agent.h +0 -195
  336. package/src/headers/12/tracing/trace_event.h +0 -710
  337. package/src/headers/12/tty_wrap.h +0 -64
  338. package/src/headers/12/udp_wrap.h +0 -222
  339. package/src/headers/12/util-inl.h +0 -529
  340. package/src/headers/12/util.h +0 -765
  341. package/src/headers/13/async_wrap-inl.h +0 -94
  342. package/src/headers/13/async_wrap.h +0 -224
  343. package/src/headers/13/base64.h +0 -197
  344. package/src/headers/13/base_object-inl.h +0 -353
  345. package/src/headers/13/base_object.h +0 -229
  346. package/src/headers/13/connect_wrap.h +0 -26
  347. package/src/headers/13/connection_wrap.h +0 -30
  348. package/src/headers/13/debug_utils-inl.h +0 -223
  349. package/src/headers/13/diagnosticfilename-inl.h +0 -33
  350. package/src/headers/13/env-inl.h +0 -1293
  351. package/src/headers/13/env.h +0 -1469
  352. package/src/headers/13/handle_wrap.h +0 -117
  353. package/src/headers/13/histogram-inl.h +0 -83
  354. package/src/headers/13/histogram.h +0 -98
  355. package/src/headers/13/inspector_io.h +0 -78
  356. package/src/headers/13/inspector_socket.h +0 -60
  357. package/src/headers/13/inspector_socket_server.h +0 -110
  358. package/src/headers/13/js_native_api.h +0 -541
  359. package/src/headers/13/js_native_api_v8.h +0 -303
  360. package/src/headers/13/js_native_api_v8_internals.h +0 -38
  361. package/src/headers/13/js_stream.h +0 -52
  362. package/src/headers/13/json_utils.h +0 -160
  363. package/src/headers/13/node_api.h +0 -239
  364. package/src/headers/13/node_api_types.h +0 -44
  365. package/src/headers/13/node_binding.h +0 -99
  366. package/src/headers/13/node_context_data.h +0 -39
  367. package/src/headers/13/node_contextify.h +0 -161
  368. package/src/headers/13/node_crypto.h +0 -800
  369. package/src/headers/13/node_crypto_common.h +0 -138
  370. package/src/headers/13/node_crypto_groups.h +0 -415
  371. package/src/headers/13/node_dir.h +0 -52
  372. package/src/headers/13/node_dtrace.h +0 -86
  373. package/src/headers/13/node_errors.h +0 -210
  374. package/src/headers/13/node_file.h +0 -364
  375. package/src/headers/13/node_http2_state.h +0 -144
  376. package/src/headers/13/node_internals.h +0 -405
  377. package/src/headers/13/node_main_instance.h +0 -97
  378. package/src/headers/13/node_mem-inl.h +0 -112
  379. package/src/headers/13/node_mem.h +0 -41
  380. package/src/headers/13/node_metadata.h +0 -109
  381. package/src/headers/13/node_mutex.h +0 -247
  382. package/src/headers/13/node_native_module.h +0 -99
  383. package/src/headers/13/node_native_module_env.h +0 -65
  384. package/src/headers/13/node_object_wrap.h +0 -132
  385. package/src/headers/13/node_perf.h +0 -181
  386. package/src/headers/13/node_perf_common.h +0 -97
  387. package/src/headers/13/node_platform.h +0 -190
  388. package/src/headers/13/node_process.h +0 -41
  389. package/src/headers/13/node_root_certs.h +0 -3424
  390. package/src/headers/13/node_sockaddr-inl.h +0 -170
  391. package/src/headers/13/node_sockaddr.h +0 -123
  392. package/src/headers/13/node_union_bytes.h +0 -103
  393. package/src/headers/13/node_v8_platform-inl.h +0 -184
  394. package/src/headers/13/node_wasi.h +0 -108
  395. package/src/headers/13/node_win32_etw_provider-inl.h +0 -287
  396. package/src/headers/13/node_win32_etw_provider.h +0 -99
  397. package/src/headers/13/pipe_wrap.h +0 -78
  398. package/src/headers/13/req_wrap-inl.h +0 -170
  399. package/src/headers/13/spawn_sync.h +0 -242
  400. package/src/headers/13/stream_wrap.h +0 -130
  401. package/src/headers/13/string_decoder-inl.h +0 -37
  402. package/src/headers/13/string_decoder.h +0 -50
  403. package/src/headers/13/tcp_wrap.h +0 -101
  404. package/src/headers/13/threadpoolwork-inl.h +0 -57
  405. package/src/headers/13/tls_wrap.h +0 -221
  406. package/src/headers/13/tracing/node_trace_buffer.h +0 -83
  407. package/src/headers/13/tracing/node_trace_writer.h +0 -75
  408. package/src/headers/13/tracing/trace_event_common.h +0 -1109
  409. package/src/headers/13/tracing/traced_value.h +0 -70
  410. package/src/headers/13/v8abbr.h +0 -124
@@ -1,397 +0,0 @@
1
- #ifndef SRC_NODE_OPTIONS_H_
2
- #define SRC_NODE_OPTIONS_H_
3
-
4
- #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
-
6
- #include <string>
7
- #include <vector>
8
- #include <unordered_map>
9
- #include <memory>
10
- #include "node_constants.h"
11
-
12
- namespace node {
13
-
14
- struct HostPort {
15
- std::string host_name;
16
- int port;
17
-
18
- void Update(const HostPort& other) {
19
- if (!other.host_name.empty()) host_name = other.host_name;
20
- if (other.port >= 0) port = other.port;
21
- }
22
- };
23
-
24
- class Options {
25
- public:
26
- virtual void CheckOptions(std::vector<std::string>* errors) {}
27
- virtual ~Options() {}
28
- };
29
-
30
- // These options are currently essentially per-Environment, but it can be nice
31
- // to keep them separate since they are a group of options applying to a very
32
- // specific part of Node. It might also make more sense for them to be
33
- // per-Isolate, rather than per-Environment.
34
- class DebugOptions : public Options {
35
- public:
36
- bool inspector_enabled = false;
37
- bool deprecated_debug = false;
38
- bool break_first_line = false;
39
- bool break_node_first_line = false;
40
- HostPort host_port = {"127.0.0.1", -1};
41
- enum { kDefaultInspectorPort = 9229 };
42
-
43
- bool deprecated_invocation() const {
44
- return deprecated_debug &&
45
- inspector_enabled &&
46
- break_first_line;
47
- }
48
-
49
- bool invalid_invocation() const {
50
- return deprecated_debug && !inspector_enabled;
51
- }
52
-
53
- bool wait_for_connect() const {
54
- return break_first_line || break_node_first_line;
55
- }
56
-
57
- const std::string& host() {
58
- return host_port.host_name;
59
- }
60
-
61
- int port() {
62
- return host_port.port < 0 ? kDefaultInspectorPort : host_port.port;
63
- }
64
- };
65
-
66
- class EnvironmentOptions : public Options {
67
- public:
68
- std::shared_ptr<DebugOptions> debug_options { new DebugOptions() };
69
- bool abort_on_uncaught_exception = false;
70
- bool experimental_modules = false;
71
- bool experimental_repl_await = false;
72
- bool experimental_vm_modules = false;
73
- bool experimental_worker = false;
74
- bool expose_internals = false;
75
- bool no_deprecation = false;
76
- bool no_force_async_hooks_checks = false;
77
- bool no_warnings = false;
78
- bool pending_deprecation = false;
79
- bool preserve_symlinks = false;
80
- bool preserve_symlinks_main = false;
81
- bool prof_process = false;
82
- std::string redirect_warnings;
83
- bool throw_deprecation = false;
84
- bool trace_deprecation = false;
85
- bool trace_sync_io = false;
86
- bool trace_warnings = false;
87
- std::string unhandled_rejections;
88
- std::string userland_loader;
89
-
90
- bool syntax_check_only = false;
91
- bool has_eval_string = false;
92
- std::string eval_string;
93
- bool print_eval = false;
94
- bool force_repl = false;
95
-
96
- bool insecure_http_parser = false;
97
- bool tls_min_v1_0 = false;
98
- bool tls_min_v1_1 = false;
99
- bool tls_min_v1_2 = false;
100
- bool tls_max_v1_2 = false;
101
-
102
- std::vector<std::string> preload_modules;
103
-
104
- std::vector<std::string> user_argv;
105
-
106
- inline DebugOptions* get_debug_options();
107
- void CheckOptions(std::vector<std::string>* errors);
108
- };
109
-
110
- class PerIsolateOptions : public Options {
111
- public:
112
- std::shared_ptr<EnvironmentOptions> per_env { new EnvironmentOptions() };
113
- bool track_heap_objects = false;
114
-
115
- inline EnvironmentOptions* get_per_env_options();
116
- void CheckOptions(std::vector<std::string>* errors);
117
- };
118
-
119
- class PerProcessOptions : public Options {
120
- public:
121
- std::shared_ptr<PerIsolateOptions> per_isolate { new PerIsolateOptions() };
122
-
123
- std::string title;
124
- std::string trace_event_categories;
125
- std::string trace_event_file_pattern = "node_trace.${rotation}.log";
126
- uint64_t max_http_header_size = 8 * 1024;
127
- int64_t v8_thread_pool_size = 4;
128
- bool zero_fill_all_buffers = false;
129
-
130
- std::vector<std::string> security_reverts;
131
- bool print_bash_completion = false;
132
- bool print_help = false;
133
- bool print_v8_help = false;
134
- bool print_version = false;
135
-
136
- #ifdef NODE_HAVE_I18N_SUPPORT
137
- std::string icu_data_dir;
138
- #endif
139
-
140
- // TODO(addaleax): Some of these could probably be per-Environment.
141
- #if HAVE_OPENSSL
142
- std::string openssl_config;
143
- std::string tls_cipher_list = DEFAULT_CIPHER_LIST_CORE;
144
- #ifdef NODE_OPENSSL_CERT_STORE
145
- bool ssl_openssl_cert_store = true;
146
- #else
147
- bool ssl_openssl_cert_store = false;
148
- #endif
149
- bool use_openssl_ca = false;
150
- bool use_bundled_ca = false;
151
- #if NODE_FIPS_MODE
152
- bool enable_fips_crypto = false;
153
- bool force_fips_crypto = false;
154
- #endif
155
- #endif
156
-
157
- inline PerIsolateOptions* get_per_isolate_options();
158
- void CheckOptions(std::vector<std::string>* errors);
159
- };
160
-
161
- // The actual options parser, as opposed to the structs containing them:
162
-
163
- namespace options_parser {
164
-
165
- HostPort SplitHostPort(const std::string& arg,
166
- std::vector<std::string>* errors);
167
- void GetOptions(const v8::FunctionCallbackInfo<v8::Value>& args);
168
-
169
- enum OptionEnvvarSettings {
170
- kAllowedInEnvironment,
171
- kDisallowedInEnvironment
172
- };
173
-
174
- enum OptionType {
175
- kNoOp,
176
- kV8Option,
177
- kBoolean,
178
- kInteger,
179
- kUInteger,
180
- kString,
181
- kHostPort,
182
- kStringList,
183
- };
184
-
185
- template <typename Options>
186
- class OptionsParser {
187
- public:
188
- virtual ~OptionsParser() {}
189
-
190
- typedef Options TargetType;
191
-
192
- struct NoOp {};
193
- struct V8Option {};
194
-
195
- // These methods add a single option to the parser. Optionally, it can be
196
- // specified whether the option should be allowed from environment variable
197
- // sources (i.e. NODE_OPTIONS).
198
- void AddOption(const char* name,
199
- const char* help_text,
200
- bool Options::* field,
201
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
202
- void AddOption(const char* name,
203
- const char* help_text,
204
- uint64_t Options::* field,
205
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
206
- void AddOption(const char* name,
207
- const char* help_text,
208
- int64_t Options::* field,
209
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
210
- void AddOption(const char* name,
211
- const char* help_text,
212
- std::string Options::* field,
213
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
214
- void AddOption(const char* name,
215
- const char* help_text,
216
- std::vector<std::string> Options::* field,
217
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
218
- void AddOption(const char* name,
219
- const char* help_text,
220
- HostPort Options::* field,
221
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
222
- void AddOption(const char* name,
223
- const char* help_text,
224
- NoOp no_op_tag,
225
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
226
- void AddOption(const char* name,
227
- const char* help_text,
228
- V8Option v8_option_tag,
229
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
230
-
231
- // Adds aliases. An alias can be of the form "--option-a" -> "--option-b",
232
- // or have a more complex group expansion, like
233
- // "--option-a" -> { "--option-b", "--harmony-foobar", "--eval", "42" }
234
- // If `from` has the form "--option-a=", the alias will only be expanded if
235
- // the option is presented in that form (i.e. with a '=').
236
- // If `from` has the form "--option-a <arg>", the alias will only be expanded
237
- // if the option has a non-option argument (not starting with -) following it.
238
- void AddAlias(const char* from, const char* to);
239
- void AddAlias(const char* from, const std::vector<std::string>& to);
240
- void AddAlias(const char* from,
241
- const std::initializer_list<std::string>& to);
242
-
243
- // Add implications from some arbitrary option to a boolean one, either
244
- // in a way that makes `from` set `to` to true or to false.
245
- void Implies(const char* from, const char* to);
246
- void ImpliesNot(const char* from, const char* to);
247
-
248
- // Insert options from another options parser into this one, along with
249
- // a method that yields the target options type from this parser's options
250
- // type.
251
- template <typename ChildOptions>
252
- void Insert(OptionsParser<ChildOptions>* child_options_parser,
253
- ChildOptions* (Options::* get_child)());
254
-
255
- // Parse a sequence of options into an options struct, a list of
256
- // arguments that were parsed as options, a list of unknown/JS engine options,
257
- // and leave the remainder in the input `args` vector.
258
- //
259
- // For example, an `args` input of
260
- //
261
- // node --foo --harmony-bar --fizzle=42 -- /path/to/cow moo
262
- //
263
- // expands as
264
- //
265
- // - `args` -> { "node", "/path/to/cow", "moo" }
266
- // - `exec_args` -> { "--foo", "--harmony-bar", "--fizzle=42" }
267
- // - `v8_args` -> `{ "node", "--harmony-bar" }
268
- // - `options->foo == true`, `options->fizzle == 42`.
269
- //
270
- // If `*error` is set, the result of the parsing should be discarded and the
271
- // contents of any of the argument vectors should be considered undefined.
272
- virtual void Parse(std::vector<std::string>* const args,
273
- std::vector<std::string>* const exec_args,
274
- std::vector<std::string>* const v8_args,
275
- Options* const options,
276
- OptionEnvvarSettings required_env_settings,
277
- std::vector<std::string>* const errors);
278
-
279
- private:
280
- // We support the wide variety of different option types by remembering
281
- // how to access them, given a certain `Options` struct.
282
-
283
- // Represents a field within `Options`.
284
- class BaseOptionField {
285
- public:
286
- virtual ~BaseOptionField() {}
287
- virtual void* LookupImpl(Options* options) const = 0;
288
- };
289
-
290
- // Represents a field of type T within `Options`.
291
- template <typename T>
292
- class OptionField : public BaseOptionField {
293
- public:
294
- typedef T Type;
295
-
296
- T* Lookup(Options* options) const {
297
- return static_cast<T*>(this->LookupImpl(options));
298
- }
299
- };
300
-
301
- // Represents a field of type T within `Options` that can be looked up
302
- // as a C++ member field.
303
- template <typename T>
304
- class SimpleOptionField : public OptionField<T> {
305
- public:
306
- explicit SimpleOptionField(T Options::* field) : field_(field) {}
307
- void* LookupImpl(Options* options) const override {
308
- return static_cast<void*>(&(options->*field_));
309
- }
310
-
311
- private:
312
- T Options::* field_;
313
- };
314
-
315
- template <typename T>
316
- inline T* Lookup(std::shared_ptr<BaseOptionField> field,
317
- Options* options) const {
318
- return std::static_pointer_cast<OptionField<T>>(field)->Lookup(options);
319
- }
320
-
321
- // An option consists of:
322
- // - A type.
323
- // - A way to store/access the property value.
324
- // - The information of whether it may occur in an env var or not.
325
- struct OptionInfo {
326
- OptionType type;
327
- std::shared_ptr<BaseOptionField> field;
328
- OptionEnvvarSettings env_setting;
329
- std::string help_text;
330
- };
331
-
332
- // An implied option is composed of the information on where to store a
333
- // specific boolean value (if another specific option is encountered).
334
- struct Implication {
335
- std::shared_ptr<OptionField<bool>> target_field;
336
- bool target_value;
337
- };
338
-
339
- // These are helpers that make `Insert()` support properties of other
340
- // options structs, if we know how to access them.
341
- template <typename OriginalField, typename ChildOptions>
342
- static auto Convert(
343
- std::shared_ptr<OriginalField> original,
344
- ChildOptions* (Options::* get_child)());
345
- template <typename ChildOptions>
346
- static auto Convert(
347
- typename OptionsParser<ChildOptions>::OptionInfo original,
348
- ChildOptions* (Options::* get_child)());
349
- template <typename ChildOptions>
350
- static auto Convert(
351
- typename OptionsParser<ChildOptions>::Implication original,
352
- ChildOptions* (Options::* get_child)());
353
-
354
- std::unordered_map<std::string, OptionInfo> options_;
355
- std::unordered_map<std::string, std::vector<std::string>> aliases_;
356
- std::unordered_multimap<std::string, Implication> implications_;
357
-
358
- template <typename OtherOptions>
359
- friend class OptionsParser;
360
-
361
- friend void GetOptions(const v8::FunctionCallbackInfo<v8::Value>& args);
362
- };
363
-
364
- class DebugOptionsParser : public OptionsParser<DebugOptions> {
365
- public:
366
- DebugOptionsParser();
367
-
368
- static DebugOptionsParser instance;
369
- };
370
-
371
- class EnvironmentOptionsParser : public OptionsParser<EnvironmentOptions> {
372
- public:
373
- EnvironmentOptionsParser();
374
-
375
- static EnvironmentOptionsParser instance;
376
- };
377
-
378
- class PerIsolateOptionsParser : public OptionsParser<PerIsolateOptions> {
379
- public:
380
- PerIsolateOptionsParser();
381
-
382
- static PerIsolateOptionsParser instance;
383
- };
384
-
385
- class PerProcessOptionsParser : public OptionsParser<PerProcessOptions> {
386
- public:
387
- PerProcessOptionsParser();
388
-
389
- static PerProcessOptionsParser instance;
390
- };
391
-
392
- } // namespace options_parser
393
- } // namespace node
394
-
395
- #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
396
-
397
- #endif // SRC_NODE_OPTIONS_H_
@@ -1,134 +0,0 @@
1
- #ifndef SRC_NODE_PERF_H_
2
- #define SRC_NODE_PERF_H_
3
-
4
- #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
-
6
- #include "node.h"
7
- #include "node_internals.h"
8
- #include "node_perf_common.h"
9
- #include "env.h"
10
- #include "base_object-inl.h"
11
-
12
- #include "v8.h"
13
- #include "uv.h"
14
-
15
- #include <string>
16
-
17
- namespace node {
18
- namespace performance {
19
-
20
- using v8::FunctionCallbackInfo;
21
- using v8::GCType;
22
- using v8::Local;
23
- using v8::Object;
24
- using v8::Value;
25
-
26
- extern const uint64_t timeOrigin;
27
-
28
- double GetCurrentTimeInMicroseconds();
29
-
30
- static inline const char* GetPerformanceMilestoneName(
31
- enum PerformanceMilestone milestone) {
32
- switch (milestone) {
33
- #define V(name, label) case NODE_PERFORMANCE_MILESTONE_##name: return label;
34
- NODE_PERFORMANCE_MILESTONES(V)
35
- #undef V
36
- default:
37
- UNREACHABLE();
38
- return 0;
39
- }
40
- }
41
-
42
- static inline PerformanceMilestone ToPerformanceMilestoneEnum(const char* str) {
43
- #define V(name, label) \
44
- if (strcmp(str, label) == 0) return NODE_PERFORMANCE_MILESTONE_##name;
45
- NODE_PERFORMANCE_MILESTONES(V)
46
- #undef V
47
- return NODE_PERFORMANCE_MILESTONE_INVALID;
48
- }
49
-
50
- static inline PerformanceEntryType ToPerformanceEntryTypeEnum(
51
- const char* type) {
52
- #define V(name, label) \
53
- if (strcmp(type, label) == 0) return NODE_PERFORMANCE_ENTRY_TYPE_##name;
54
- NODE_PERFORMANCE_ENTRY_TYPES(V)
55
- #undef V
56
- return NODE_PERFORMANCE_ENTRY_TYPE_INVALID;
57
- }
58
-
59
- class PerformanceEntry {
60
- public:
61
- static void Notify(Environment* env,
62
- PerformanceEntryType type,
63
- Local<Value> object);
64
-
65
- static void New(const FunctionCallbackInfo<Value>& args);
66
-
67
- PerformanceEntry(Environment* env,
68
- const char* name,
69
- const char* type,
70
- uint64_t startTime,
71
- uint64_t endTime) : env_(env),
72
- name_(name),
73
- type_(type),
74
- startTime_(startTime),
75
- endTime_(endTime) { }
76
-
77
- virtual ~PerformanceEntry() { }
78
-
79
- virtual const Local<Object> ToObject() const;
80
-
81
- Environment* env() const { return env_; }
82
-
83
- const std::string& name() const { return name_; }
84
-
85
- const std::string& type() const { return type_; }
86
-
87
- PerformanceEntryType kind() {
88
- return ToPerformanceEntryTypeEnum(type().c_str());
89
- }
90
-
91
- double startTime() const { return startTimeNano() / 1e6; }
92
-
93
- double duration() const { return durationNano() / 1e6; }
94
-
95
- uint64_t startTimeNano() const { return startTime_ - timeOrigin; }
96
-
97
- uint64_t durationNano() const { return endTime_ - startTime_; }
98
-
99
- private:
100
- Environment* env_;
101
- const std::string name_;
102
- const std::string type_;
103
- const uint64_t startTime_;
104
- const uint64_t endTime_;
105
- };
106
-
107
- enum PerformanceGCKind {
108
- NODE_PERFORMANCE_GC_MAJOR = GCType::kGCTypeMarkSweepCompact,
109
- NODE_PERFORMANCE_GC_MINOR = GCType::kGCTypeScavenge,
110
- NODE_PERFORMANCE_GC_INCREMENTAL = GCType::kGCTypeIncrementalMarking,
111
- NODE_PERFORMANCE_GC_WEAKCB = GCType::kGCTypeProcessWeakCallbacks
112
- };
113
-
114
- class GCPerformanceEntry : public PerformanceEntry {
115
- public:
116
- GCPerformanceEntry(Environment* env,
117
- PerformanceGCKind gckind,
118
- uint64_t startTime,
119
- uint64_t endTime) :
120
- PerformanceEntry(env, "gc", "gc", startTime, endTime),
121
- gckind_(gckind) { }
122
-
123
- PerformanceGCKind gckind() const { return gckind_; }
124
-
125
- private:
126
- PerformanceGCKind gckind_;
127
- };
128
-
129
- } // namespace performance
130
- } // namespace node
131
-
132
- #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
133
-
134
- #endif // SRC_NODE_PERF_H_
@@ -1,96 +0,0 @@
1
- #ifndef SRC_NODE_PERF_COMMON_H_
2
- #define SRC_NODE_PERF_COMMON_H_
3
-
4
- #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
-
6
- #include "node.h"
7
- #include "v8.h"
8
-
9
- #include <algorithm>
10
- #include <map>
11
- #include <string>
12
-
13
- namespace node {
14
- namespace performance {
15
-
16
- #define PERFORMANCE_NOW() uv_hrtime()
17
-
18
- // These occur before the environment is created. Cache them
19
- // here and add them to the milestones when the env is init'd.
20
- extern uint64_t performance_node_start;
21
- extern uint64_t performance_v8_start;
22
-
23
- #define NODE_PERFORMANCE_MILESTONES(V) \
24
- V(ENVIRONMENT, "environment") \
25
- V(NODE_START, "nodeStart") \
26
- V(V8_START, "v8Start") \
27
- V(LOOP_START, "loopStart") \
28
- V(LOOP_EXIT, "loopExit") \
29
- V(BOOTSTRAP_COMPLETE, "bootstrapComplete")
30
-
31
-
32
- #define NODE_PERFORMANCE_ENTRY_TYPES(V) \
33
- V(NODE, "node") \
34
- V(MARK, "mark") \
35
- V(MEASURE, "measure") \
36
- V(GC, "gc") \
37
- V(FUNCTION, "function") \
38
- V(HTTP2, "http2")
39
-
40
- enum PerformanceMilestone {
41
- #define V(name, _) NODE_PERFORMANCE_MILESTONE_##name,
42
- NODE_PERFORMANCE_MILESTONES(V)
43
- #undef V
44
- NODE_PERFORMANCE_MILESTONE_INVALID
45
- };
46
-
47
- enum PerformanceEntryType {
48
- #define V(name, _) NODE_PERFORMANCE_ENTRY_TYPE_##name,
49
- NODE_PERFORMANCE_ENTRY_TYPES(V)
50
- #undef V
51
- NODE_PERFORMANCE_ENTRY_TYPE_INVALID
52
- };
53
-
54
- class performance_state {
55
- public:
56
- explicit performance_state(v8::Isolate* isolate) :
57
- root(
58
- isolate,
59
- sizeof(performance_state_internal)),
60
- milestones(
61
- isolate,
62
- offsetof(performance_state_internal, milestones),
63
- NODE_PERFORMANCE_MILESTONE_INVALID,
64
- root),
65
- observers(
66
- isolate,
67
- offsetof(performance_state_internal, observers),
68
- NODE_PERFORMANCE_ENTRY_TYPE_INVALID,
69
- root) {
70
- for (size_t i = 0; i < milestones.Length(); i++)
71
- milestones[i] = -1.;
72
- }
73
-
74
- AliasedBuffer<uint8_t, v8::Uint8Array> root;
75
- AliasedBuffer<double, v8::Float64Array> milestones;
76
- AliasedBuffer<uint32_t, v8::Uint32Array> observers;
77
-
78
- uint64_t performance_last_gc_start_mark = 0;
79
-
80
- void Mark(enum PerformanceMilestone milestone,
81
- uint64_t ts = PERFORMANCE_NOW());
82
-
83
- private:
84
- struct performance_state_internal {
85
- // doubles first so that they are always sizeof(double)-aligned
86
- double milestones[NODE_PERFORMANCE_MILESTONE_INVALID];
87
- uint32_t observers[NODE_PERFORMANCE_ENTRY_TYPE_INVALID];
88
- };
89
- };
90
-
91
- } // namespace performance
92
- } // namespace node
93
-
94
- #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
95
-
96
- #endif // SRC_NODE_PERF_COMMON_H_
@@ -1,30 +0,0 @@
1
- #ifndef SRC_NODE_PERSISTENT_H_
2
- #define SRC_NODE_PERSISTENT_H_
3
-
4
- #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
-
6
- #include "v8.h"
7
-
8
- namespace node {
9
-
10
- template <typename T>
11
- struct ResetInDestructorPersistentTraits {
12
- static const bool kResetInDestructor = true;
13
- template <typename S, typename M>
14
- // Disallow copy semantics by leaving this unimplemented.
15
- inline static void Copy(
16
- const v8::Persistent<S, M>&,
17
- v8::Persistent<T, ResetInDestructorPersistentTraits<T>>*);
18
- };
19
-
20
- // v8::Persistent does not reset the object slot in its destructor. That is
21
- // acknowledged as a flaw in the V8 API and expected to change in the future
22
- // but for now node::Persistent is the easier and safer alternative.
23
- template <typename T>
24
- using Persistent = v8::Persistent<T, ResetInDestructorPersistentTraits<T>>;
25
-
26
- } // namespace node
27
-
28
- #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
29
-
30
- #endif // SRC_NODE_PERSISTENT_H_