@encharm/cws 4.1.0 → 4.2.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 (370) hide show
  1. package/dist/bindings/cws_linux_108.node +0 -0
  2. package/dist/bindings/cws_linux_64.node +0 -0
  3. package/dist/bindings/cws_linux_72.node +0 -0
  4. package/dist/bindings/cws_linux_79.node +0 -0
  5. package/dist/bindings/cws_linux_83.node +0 -0
  6. package/dist/bindings/cws_linux_93.node +0 -0
  7. package/dist/bindings/cws_win32_64.node +0 -0
  8. package/dist/bindings/cws_win32_72.node +0 -0
  9. package/dist/bindings/cws_win32_79.node +0 -0
  10. package/dist/bindings/cws_win32_83.node +0 -0
  11. package/dist/bindings/cws_win32_93.node +0 -0
  12. package/package.json +1 -1
  13. package/src/Addon.h +24 -2
  14. package/src/HTTPSocket.cpp +1 -1
  15. package/src/headers/{13 → 18}/aliased_buffer.h +61 -9
  16. package/src/headers/18/aliased_struct-inl.h +54 -0
  17. package/src/headers/18/aliased_struct.h +63 -0
  18. package/src/headers/{12 → 18}/async_wrap-inl.h +0 -0
  19. package/src/headers/{12 → 18}/async_wrap.h +26 -2
  20. package/src/headers/{12/base64.h → 18/base64-inl.h} +78 -86
  21. package/src/headers/18/base64.h +69 -0
  22. package/src/headers/{12 → 18}/base_object-inl.h +46 -25
  23. package/src/headers/{12 → 18}/base_object.h +82 -17
  24. package/src/headers/{12 → 18}/callback_queue-inl.h +9 -9
  25. package/src/headers/{12 → 18}/callback_queue.h +13 -5
  26. package/src/headers/18/cares_wrap.h +523 -0
  27. package/src/headers/{12 → 18}/connect_wrap.h +0 -0
  28. package/src/headers/{12 → 18}/connection_wrap.h +0 -0
  29. package/src/headers/18/crypto/crypto_aes.h +89 -0
  30. package/src/headers/{13/node_crypto_bio.h → 18/crypto/crypto_bio.h} +3 -4
  31. package/src/headers/18/crypto/crypto_cipher.h +291 -0
  32. package/src/headers/{13/node_crypto_clienthello-inl.h → 18/crypto/crypto_clienthello-inl.h} +4 -5
  33. package/src/headers/{13/node_crypto_clienthello.h → 18/crypto/crypto_clienthello.h} +3 -4
  34. package/src/headers/{12/node_crypto_common.h → 18/crypto/crypto_common.h} +49 -36
  35. package/src/headers/18/crypto/crypto_context.h +147 -0
  36. package/src/headers/18/crypto/crypto_dh.h +156 -0
  37. package/src/headers/18/crypto/crypto_dsa.h +77 -0
  38. package/src/headers/18/crypto/crypto_ec.h +170 -0
  39. package/src/headers/{12/node_crypto_groups.h → 18/crypto/crypto_groups.h} +3 -3
  40. package/src/headers/18/crypto/crypto_hash.h +89 -0
  41. package/src/headers/18/crypto/crypto_hkdf.h +65 -0
  42. package/src/headers/18/crypto/crypto_hmac.h +94 -0
  43. package/src/headers/18/crypto/crypto_keygen.h +305 -0
  44. package/src/headers/18/crypto/crypto_keys.h +420 -0
  45. package/src/headers/18/crypto/crypto_pbkdf2.h +76 -0
  46. package/src/headers/18/crypto/crypto_random.h +130 -0
  47. package/src/headers/18/crypto/crypto_rsa.h +141 -0
  48. package/src/headers/18/crypto/crypto_scrypt.h +87 -0
  49. package/src/headers/18/crypto/crypto_sig.h +168 -0
  50. package/src/headers/18/crypto/crypto_spkac.h +21 -0
  51. package/src/headers/18/crypto/crypto_timing.h +20 -0
  52. package/src/headers/{13/tls_wrap.h → 18/crypto/crypto_tls.h} +137 -66
  53. package/src/headers/18/crypto/crypto_util.h +791 -0
  54. package/src/headers/18/crypto/crypto_x509.h +143 -0
  55. package/src/headers/{12 → 18}/debug_utils-inl.h +0 -0
  56. package/src/headers/{13 → 18}/debug_utils.h +7 -4
  57. package/src/headers/{12 → 18}/diagnosticfilename-inl.h +0 -0
  58. package/src/headers/{12 → 18}/env-inl.h +397 -304
  59. package/src/headers/{12 → 18}/env.h +397 -172
  60. package/src/headers/{12 → 18}/handle_wrap.h +7 -3
  61. package/src/headers/18/histogram-inl.h +107 -0
  62. package/src/headers/18/histogram.h +239 -0
  63. package/src/headers/{13 → 18}/inspector_agent.h +4 -7
  64. package/src/headers/{12 → 18}/inspector_io.h +0 -0
  65. package/src/headers/{13 → 18}/inspector_profiler.h +17 -5
  66. package/src/headers/{12 → 18}/inspector_socket.h +0 -0
  67. package/src/headers/{12 → 18}/inspector_socket_server.h +0 -0
  68. package/src/headers/18/js_native_api.h +571 -0
  69. package/src/headers/{13 → 18}/js_native_api_types.h +30 -7
  70. package/src/headers/{12 → 18}/js_native_api_v8.h +220 -83
  71. package/src/headers/{12 → 18}/js_native_api_v8_internals.h +6 -5
  72. package/src/headers/{12 → 18}/js_stream.h +0 -0
  73. package/src/headers/{12 → 18}/json_utils.h +0 -0
  74. package/src/headers/{13 → 18}/memory_tracker-inl.h +6 -5
  75. package/src/headers/{13 → 18}/memory_tracker.h +0 -7
  76. package/src/headers/{13 → 18}/module_wrap.h +24 -7
  77. package/src/headers/{13 → 18}/node.h +329 -68
  78. package/src/headers/18/node_api.h +288 -0
  79. package/src/headers/18/node_api_internals.h +38 -0
  80. package/src/headers/{12 → 18}/node_api_types.h +12 -9
  81. package/src/headers/{12 → 18}/node_binding.h +0 -0
  82. package/src/headers/18/node_blob.h +191 -0
  83. package/src/headers/18/node_bob-inl.h +37 -0
  84. package/src/headers/18/node_bob.h +111 -0
  85. package/src/headers/{13 → 18}/node_buffer.h +0 -0
  86. package/src/headers/{13 → 18}/node_constants.h +5 -1
  87. package/src/headers/{12 → 18}/node_context_data.h +5 -0
  88. package/src/headers/{12 → 18}/node_contextify.h +37 -2
  89. package/src/headers/{10/node_win32_perfctr_provider.h → 18/node_crypto.h} +30 -31
  90. package/src/headers/{12 → 18}/node_dir.h +0 -0
  91. package/src/headers/{12 → 18}/node_dtrace.h +0 -0
  92. package/src/headers/{12 → 18}/node_errors.h +90 -24
  93. package/src/headers/18/node_external_reference.h +145 -0
  94. package/src/headers/{13 → 18}/node_file-inl.h +38 -21
  95. package/src/headers/{12 → 18}/node_file.h +74 -13
  96. package/src/headers/{13 → 18}/node_http2.h +365 -269
  97. package/src/headers/{12 → 18}/node_http2_state.h +40 -50
  98. package/src/headers/{13 → 18}/node_http_common-inl.h +25 -5
  99. package/src/headers/{13 → 18}/node_http_common.h +24 -20
  100. package/src/headers/{13 → 18}/node_i18n.h +2 -1
  101. package/src/headers/{12 → 18}/node_internals.h +39 -41
  102. package/src/headers/{13 → 18}/node_main_instance.h +15 -18
  103. package/src/headers/{12 → 18}/node_mem-inl.h +0 -0
  104. package/src/headers/{12 → 18}/node_mem.h +1 -1
  105. package/src/headers/{13 → 18}/node_messaging.h +170 -23
  106. package/src/headers/{12 → 18}/node_metadata.h +17 -4
  107. package/src/headers/{12 → 18}/node_mutex.h +77 -1
  108. package/src/headers/{12 → 18}/node_native_module.h +11 -1
  109. package/src/headers/{13 → 18}/node_native_module_env.h +14 -8
  110. package/src/headers/{12 → 18}/node_object_wrap.h +0 -0
  111. package/src/headers/{13 → 18}/node_options-inl.h +51 -21
  112. package/src/headers/{13 → 18}/node_options.h +46 -14
  113. package/src/headers/18/node_perf.h +168 -0
  114. package/src/headers/{12 → 18}/node_perf_common.h +16 -22
  115. package/src/headers/{12 → 18}/node_platform.h +21 -16
  116. package/src/headers/18/node_process-inl.h +26 -0
  117. package/src/headers/18/node_process.h +97 -0
  118. package/src/headers/{13 → 18}/node_report.h +2 -2
  119. package/src/headers/{13 → 18}/node_revert.h +10 -0
  120. package/src/headers/{12 → 18}/node_root_certs.h +439 -651
  121. package/src/headers/18/node_snapshot_builder.h +43 -0
  122. package/src/headers/18/node_snapshotable.h +130 -0
  123. package/src/headers/{12 → 18}/node_sockaddr-inl.h +100 -4
  124. package/src/headers/18/node_sockaddr.h +405 -0
  125. package/src/headers/{12 → 18}/node_stat_watcher.h +7 -1
  126. package/src/headers/{12 → 18}/node_union_bytes.h +0 -0
  127. package/src/headers/{13 → 18}/node_url.h +18 -1
  128. package/src/headers/18/node_v8.h +41 -0
  129. package/src/headers/{12 → 18}/node_v8_platform-inl.h +10 -0
  130. package/src/headers/{13 → 18}/node_version.h +7 -7
  131. package/src/headers/{12 → 18}/node_wasi.h +0 -0
  132. package/src/headers/18/node_wasm_web_api.h +55 -0
  133. package/src/headers/{13 → 18}/node_watchdog.h +0 -0
  134. package/src/headers/{10 → 18}/node_win32_etw_provider-inl.h +7 -6
  135. package/src/headers/{10 → 18}/node_win32_etw_provider.h +0 -0
  136. package/src/headers/{13 → 18}/node_worker.h +24 -17
  137. package/src/headers/{12 → 18}/pipe_wrap.h +2 -0
  138. package/src/headers/{12 → 18}/req_wrap-inl.h +0 -0
  139. package/src/headers/{12 → 18}/req_wrap.h +1 -1
  140. package/src/headers/{12 → 18}/spawn_sync.h +0 -0
  141. package/src/headers/{13 → 18}/stream_base-inl.h +58 -22
  142. package/src/headers/{13 → 18}/stream_base.h +29 -3
  143. package/src/headers/{13 → 18}/stream_pipe.h +8 -3
  144. package/src/headers/{12 → 18}/stream_wrap.h +4 -1
  145. package/src/headers/{13 → 18}/string_bytes.h +0 -7
  146. package/src/headers/{12 → 18}/string_decoder-inl.h +0 -0
  147. package/src/headers/{10 → 18}/string_decoder.h +0 -0
  148. package/src/headers/{13 → 18}/string_search.h +2 -2
  149. package/src/headers/{12 → 18}/tcp_wrap.h +4 -0
  150. package/src/headers/{12 → 18}/threadpoolwork-inl.h +0 -0
  151. package/src/headers/18/timer_wrap-inl.h +32 -0
  152. package/src/headers/18/timer_wrap.h +85 -0
  153. package/src/headers/{13 → 18}/tracing/agent.h +1 -1
  154. package/src/headers/{12 → 18}/tracing/node_trace_buffer.h +0 -0
  155. package/src/headers/{12 → 18}/tracing/node_trace_writer.h +0 -0
  156. package/src/headers/{13 → 18}/tracing/trace_event.h +23 -13
  157. package/src/headers/{12 → 18}/tracing/trace_event_common.h +0 -0
  158. package/src/headers/{12 → 18}/tracing/traced_value.h +0 -0
  159. package/src/headers/{13 → 18}/tty_wrap.h +2 -1
  160. package/src/headers/{13 → 18}/udp_wrap.h +5 -0
  161. package/src/headers/{13 → 18}/util-inl.h +69 -15
  162. package/src/headers/{13 → 18}/util.h +93 -31
  163. package/src/headers/18/v8-fast-api-calls.h +939 -0
  164. package/src/headers/{12 → 18}/v8abbr.h +2 -2
  165. package/src/headers/10/aliased_buffer.h +0 -241
  166. package/src/headers/10/async_wrap-inl.h +0 -106
  167. package/src/headers/10/async_wrap.h +0 -218
  168. package/src/headers/10/base64.h +0 -197
  169. package/src/headers/10/base_object-inl.h +0 -132
  170. package/src/headers/10/base_object.h +0 -115
  171. package/src/headers/10/connect_wrap.h +0 -28
  172. package/src/headers/10/connection_wrap.h +0 -30
  173. package/src/headers/10/debug_utils.h +0 -128
  174. package/src/headers/10/env-inl.h +0 -906
  175. package/src/headers/10/env.h +0 -1046
  176. package/src/headers/10/handle_wrap.h +0 -114
  177. package/src/headers/10/inspector_agent.h +0 -137
  178. package/src/headers/10/inspector_io.h +0 -97
  179. package/src/headers/10/inspector_socket.h +0 -59
  180. package/src/headers/10/inspector_socket_server.h +0 -104
  181. package/src/headers/10/js_stream.h +0 -57
  182. package/src/headers/10/memory_tracker-inl.h +0 -318
  183. package/src/headers/10/memory_tracker.h +0 -246
  184. package/src/headers/10/module_wrap.h +0 -100
  185. package/src/headers/10/node.h +0 -863
  186. package/src/headers/10/node_api.h +0 -752
  187. package/src/headers/10/node_api_types.h +0 -171
  188. package/src/headers/10/node_buffer.h +0 -90
  189. package/src/headers/10/node_code_cache.h +0 -17
  190. package/src/headers/10/node_constants.h +0 -74
  191. package/src/headers/10/node_context_data.h +0 -39
  192. package/src/headers/10/node_contextify.h +0 -141
  193. package/src/headers/10/node_counters.h +0 -59
  194. package/src/headers/10/node_crypto.h +0 -699
  195. package/src/headers/10/node_crypto_bio.h +0 -177
  196. package/src/headers/10/node_crypto_clienthello-inl.h +0 -92
  197. package/src/headers/10/node_crypto_clienthello.h +0 -131
  198. package/src/headers/10/node_crypto_groups.h +0 -416
  199. package/src/headers/10/node_dtrace.h +0 -84
  200. package/src/headers/10/node_errors.h +0 -118
  201. package/src/headers/10/node_file.h +0 -373
  202. package/src/headers/10/node_http2.h +0 -1304
  203. package/src/headers/10/node_http2_state.h +0 -158
  204. package/src/headers/10/node_i18n.h +0 -69
  205. package/src/headers/10/node_internals.h +0 -952
  206. package/src/headers/10/node_javascript.h +0 -41
  207. package/src/headers/10/node_messaging.h +0 -219
  208. package/src/headers/10/node_mutex.h +0 -191
  209. package/src/headers/10/node_object_wrap.h +0 -130
  210. package/src/headers/10/node_options-inl.h +0 -444
  211. package/src/headers/10/node_options.h +0 -397
  212. package/src/headers/10/node_perf.h +0 -134
  213. package/src/headers/10/node_perf_common.h +0 -96
  214. package/src/headers/10/node_persistent.h +0 -30
  215. package/src/headers/10/node_platform.h +0 -170
  216. package/src/headers/10/node_revert.h +0 -75
  217. package/src/headers/10/node_root_certs.h +0 -3393
  218. package/src/headers/10/node_stat_watcher.h +0 -65
  219. package/src/headers/10/node_url.h +0 -193
  220. package/src/headers/10/node_version.h +0 -120
  221. package/src/headers/10/node_watchdog.h +0 -114
  222. package/src/headers/10/node_worker.h +0 -94
  223. package/src/headers/10/pipe_wrap.h +0 -76
  224. package/src/headers/10/req_wrap-inl.h +0 -166
  225. package/src/headers/10/req_wrap.h +0 -61
  226. package/src/headers/10/sharedarraybuffer_metadata.h +0 -67
  227. package/src/headers/10/spawn_sync.h +0 -240
  228. package/src/headers/10/stream_base-inl.h +0 -458
  229. package/src/headers/10/stream_base.h +0 -378
  230. package/src/headers/10/stream_pipe.h +0 -72
  231. package/src/headers/10/stream_wrap.h +0 -130
  232. package/src/headers/10/string_bytes.h +0 -126
  233. package/src/headers/10/string_decoder-inl.h +0 -38
  234. package/src/headers/10/string_search.h +0 -620
  235. package/src/headers/10/tcp_wrap.h +0 -99
  236. package/src/headers/10/tls_wrap.h +0 -195
  237. package/src/headers/10/tracing/agent.h +0 -178
  238. package/src/headers/10/tracing/node_trace_buffer.h +0 -83
  239. package/src/headers/10/tracing/node_trace_writer.h +0 -75
  240. package/src/headers/10/tracing/trace_event.h +0 -706
  241. package/src/headers/10/tracing/trace_event_common.h +0 -1102
  242. package/src/headers/10/tracing/traced_value.h +0 -68
  243. package/src/headers/10/tty_wrap.h +0 -63
  244. package/src/headers/10/udp_wrap.h +0 -102
  245. package/src/headers/10/util-inl.h +0 -459
  246. package/src/headers/10/util.h +0 -508
  247. package/src/headers/10/v8abbr.h +0 -121
  248. package/src/headers/12/aliased_buffer.h +0 -263
  249. package/src/headers/12/debug_utils.h +0 -181
  250. package/src/headers/12/histogram-inl.h +0 -83
  251. package/src/headers/12/histogram.h +0 -98
  252. package/src/headers/12/http_parser_adaptor.h +0 -24
  253. package/src/headers/12/inspector_agent.h +0 -147
  254. package/src/headers/12/inspector_profiler.h +0 -137
  255. package/src/headers/12/js_native_api.h +0 -541
  256. package/src/headers/12/js_native_api_types.h +0 -139
  257. package/src/headers/12/memory_tracker-inl.h +0 -339
  258. package/src/headers/12/memory_tracker.h +0 -283
  259. package/src/headers/12/module_wrap.h +0 -99
  260. package/src/headers/12/node.h +0 -887
  261. package/src/headers/12/node_api.h +0 -239
  262. package/src/headers/12/node_buffer.h +0 -92
  263. package/src/headers/12/node_constants.h +0 -80
  264. package/src/headers/12/node_crypto.h +0 -800
  265. package/src/headers/12/node_crypto_bio.h +0 -195
  266. package/src/headers/12/node_crypto_clienthello-inl.h +0 -91
  267. package/src/headers/12/node_crypto_clienthello.h +0 -132
  268. package/src/headers/12/node_file-inl.h +0 -289
  269. package/src/headers/12/node_http2.h +0 -1311
  270. package/src/headers/12/node_http_parser_impl.h +0 -994
  271. package/src/headers/12/node_i18n.h +0 -144
  272. package/src/headers/12/node_main_instance.h +0 -97
  273. package/src/headers/12/node_messaging.h +0 -227
  274. package/src/headers/12/node_native_module_env.h +0 -65
  275. package/src/headers/12/node_options-inl.h +0 -447
  276. package/src/headers/12/node_options.h +0 -479
  277. package/src/headers/12/node_perf.h +0 -181
  278. package/src/headers/12/node_process.h +0 -41
  279. package/src/headers/12/node_report.h +0 -47
  280. package/src/headers/12/node_revert.h +0 -78
  281. package/src/headers/12/node_sockaddr.h +0 -123
  282. package/src/headers/12/node_url.h +0 -188
  283. package/src/headers/12/node_version.h +0 -98
  284. package/src/headers/12/node_watchdog.h +0 -152
  285. package/src/headers/12/node_win32_etw_provider-inl.h +0 -287
  286. package/src/headers/12/node_win32_etw_provider.h +0 -99
  287. package/src/headers/12/node_worker.h +0 -142
  288. package/src/headers/12/sharedarraybuffer_metadata.h +0 -72
  289. package/src/headers/12/stream_base-inl.h +0 -323
  290. package/src/headers/12/stream_base.h +0 -431
  291. package/src/headers/12/stream_pipe.h +0 -72
  292. package/src/headers/12/string_bytes.h +0 -142
  293. package/src/headers/12/string_decoder.h +0 -50
  294. package/src/headers/12/string_search.h +0 -638
  295. package/src/headers/12/tls_wrap.h +0 -221
  296. package/src/headers/12/tracing/agent.h +0 -195
  297. package/src/headers/12/tracing/trace_event.h +0 -710
  298. package/src/headers/12/tty_wrap.h +0 -64
  299. package/src/headers/12/udp_wrap.h +0 -222
  300. package/src/headers/12/util-inl.h +0 -529
  301. package/src/headers/12/util.h +0 -765
  302. package/src/headers/13/async_wrap-inl.h +0 -94
  303. package/src/headers/13/async_wrap.h +0 -224
  304. package/src/headers/13/base64.h +0 -197
  305. package/src/headers/13/base_object-inl.h +0 -353
  306. package/src/headers/13/base_object.h +0 -229
  307. package/src/headers/13/connect_wrap.h +0 -26
  308. package/src/headers/13/connection_wrap.h +0 -30
  309. package/src/headers/13/debug_utils-inl.h +0 -223
  310. package/src/headers/13/diagnosticfilename-inl.h +0 -33
  311. package/src/headers/13/env-inl.h +0 -1293
  312. package/src/headers/13/env.h +0 -1469
  313. package/src/headers/13/handle_wrap.h +0 -117
  314. package/src/headers/13/histogram-inl.h +0 -83
  315. package/src/headers/13/histogram.h +0 -98
  316. package/src/headers/13/inspector_io.h +0 -78
  317. package/src/headers/13/inspector_socket.h +0 -60
  318. package/src/headers/13/inspector_socket_server.h +0 -110
  319. package/src/headers/13/js_native_api.h +0 -541
  320. package/src/headers/13/js_native_api_v8.h +0 -303
  321. package/src/headers/13/js_native_api_v8_internals.h +0 -38
  322. package/src/headers/13/js_stream.h +0 -52
  323. package/src/headers/13/json_utils.h +0 -160
  324. package/src/headers/13/node_api.h +0 -239
  325. package/src/headers/13/node_api_types.h +0 -44
  326. package/src/headers/13/node_binding.h +0 -99
  327. package/src/headers/13/node_context_data.h +0 -39
  328. package/src/headers/13/node_contextify.h +0 -161
  329. package/src/headers/13/node_crypto.h +0 -800
  330. package/src/headers/13/node_crypto_common.h +0 -138
  331. package/src/headers/13/node_crypto_groups.h +0 -415
  332. package/src/headers/13/node_dir.h +0 -52
  333. package/src/headers/13/node_dtrace.h +0 -86
  334. package/src/headers/13/node_errors.h +0 -210
  335. package/src/headers/13/node_file.h +0 -364
  336. package/src/headers/13/node_http2_state.h +0 -144
  337. package/src/headers/13/node_internals.h +0 -405
  338. package/src/headers/13/node_mem-inl.h +0 -112
  339. package/src/headers/13/node_mem.h +0 -41
  340. package/src/headers/13/node_metadata.h +0 -109
  341. package/src/headers/13/node_mutex.h +0 -247
  342. package/src/headers/13/node_native_module.h +0 -99
  343. package/src/headers/13/node_object_wrap.h +0 -132
  344. package/src/headers/13/node_perf.h +0 -181
  345. package/src/headers/13/node_perf_common.h +0 -97
  346. package/src/headers/13/node_platform.h +0 -190
  347. package/src/headers/13/node_process.h +0 -41
  348. package/src/headers/13/node_root_certs.h +0 -3424
  349. package/src/headers/13/node_sockaddr-inl.h +0 -170
  350. package/src/headers/13/node_sockaddr.h +0 -123
  351. package/src/headers/13/node_stat_watcher.h +0 -66
  352. package/src/headers/13/node_union_bytes.h +0 -103
  353. package/src/headers/13/node_v8_platform-inl.h +0 -184
  354. package/src/headers/13/node_wasi.h +0 -108
  355. package/src/headers/13/node_win32_etw_provider-inl.h +0 -287
  356. package/src/headers/13/node_win32_etw_provider.h +0 -99
  357. package/src/headers/13/pipe_wrap.h +0 -78
  358. package/src/headers/13/req_wrap-inl.h +0 -170
  359. package/src/headers/13/req_wrap.h +0 -77
  360. package/src/headers/13/spawn_sync.h +0 -242
  361. package/src/headers/13/stream_wrap.h +0 -130
  362. package/src/headers/13/string_decoder-inl.h +0 -37
  363. package/src/headers/13/string_decoder.h +0 -50
  364. package/src/headers/13/tcp_wrap.h +0 -101
  365. package/src/headers/13/threadpoolwork-inl.h +0 -57
  366. package/src/headers/13/tracing/node_trace_buffer.h +0 -83
  367. package/src/headers/13/tracing/node_trace_writer.h +0 -75
  368. package/src/headers/13/tracing/trace_event_common.h +0 -1109
  369. package/src/headers/13/tracing/traced_value.h +0 -70
  370. package/src/headers/13/v8abbr.h +0 -124
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
File without changes
File without changes
File without changes
File without changes
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@encharm/cws",
3
- "version": "4.1.0",
3
+ "version": "4.2.0",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "description": "cWS - fast C++ WebSocket implementation for Node.js",
package/src/Addon.h CHANGED
@@ -32,8 +32,13 @@
32
32
  #include "headers/16/base_object-inl.h"
33
33
  #endif
34
34
 
35
+ #if NODE_MAJOR_VERSION==18
36
+ #include "headers/18/crypto/crypto_tls.h"
37
+ #include "headers/18/base_object-inl.h"
38
+ #endif
39
+
35
40
  using BaseObject = node::BaseObject;
36
- #if NODE_MAJOR_VERSION==16
41
+ #if NODE_MAJOR_VERSION==16 || NODE_MAJOR_VERSION==18
37
42
  using TLSWrap = node::crypto::TLSWrap;
38
43
  #else
39
44
  using TLSWrap = node::TLSWrap;
@@ -125,14 +130,26 @@ class NativeString {
125
130
  } else if (value->IsTypedArray()) {
126
131
  Local<ArrayBufferView> arrayBufferView =
127
132
  Local<ArrayBufferView>::Cast(value);
133
+ #if NODE_MAJOR_VERSION == 18
134
+ std::shared_ptr<v8::BackingStore> contents = arrayBufferView->Buffer()->GetBackingStore();
135
+ length = arrayBufferView->ByteLength();
136
+ data = (char *)contents->Data();
137
+ #else
128
138
  ArrayBuffer::Contents contents = arrayBufferView->Buffer()->GetContents();
129
139
  length = contents.ByteLength();
130
140
  data = (char *)contents.Data();
141
+ #endif
131
142
  } else if (value->IsArrayBuffer()) {
132
143
  Local<ArrayBuffer> arrayBuffer = Local<ArrayBuffer>::Cast(value);
144
+ #if NODE_MAJOR_VERSION == 18
145
+ std::shared_ptr<v8::BackingStore> contents = arrayBuffer->GetBackingStore();
146
+ length = arrayBuffer->ByteLength();
147
+ data = (char *)contents->Data();
148
+ #else
133
149
  ArrayBuffer::Contents contents = arrayBuffer->GetContents();
134
150
  length = contents.ByteLength();
135
151
  data = (char *)contents.Data();
152
+ #endif
136
153
  } else {
137
154
  static char empty[] = "";
138
155
  data = empty;
@@ -187,7 +204,12 @@ inline Local<Value> wrapMessage(const char *message, size_t length,
187
204
  cWS::OpCode opCode, Isolate *isolate) {
188
205
 
189
206
  if (opCode == cWS::OpCode::BINARY) {
190
- return (Local<Value>)ArrayBuffer::New(isolate, (char *)message, length);
207
+ // return (Local<Value>)ArrayBuffer::New(isolate, (char *)message, length);
208
+ std::unique_ptr<v8::BackingStore> backing = v8::ArrayBuffer::NewBackingStore((char*)message,
209
+ length,
210
+ [](void*, size_t, void*){},
211
+ nullptr);
212
+ return (Local<Value>)v8::ArrayBuffer::New(isolate, std::move(backing));
191
213
  }
192
214
 
193
215
  #if NODE_MAJOR_VERSION >= 13
@@ -247,7 +247,7 @@ void HttpSocket<isServer>::upgrade(const char *secKey, const char *extensions, s
247
247
  memcpy(upgradeBuffer + upgradeResponseLength + 24 + subprotocolLength, "\r\n", 2);
248
248
  upgradeResponseLength += 24 + subprotocolLength + 2;
249
249
  }
250
- static char stamp[] = "Sec-WebSocket-Version: 13\r\nWebSocket-Server: cWebSockets\r\n\r\n";
250
+ static char stamp[] = "Sec-WebSocket-Version: 13\r\n\r\n";
251
251
  memcpy(upgradeBuffer + upgradeResponseLength, stamp, sizeof(stamp) - 1);
252
252
  upgradeResponseLength += sizeof(stamp) - 1;
253
253
 
@@ -9,6 +9,8 @@
9
9
 
10
10
  namespace node {
11
11
 
12
+ typedef size_t AliasedBufferIndex;
13
+
12
14
  /**
13
15
  * Do not use this class directly when creating instances of it - use the
14
16
  * Aliased*Array defined at the end of this file instead.
@@ -32,9 +34,15 @@ template <class NativeT,
32
34
  typename = std::enable_if_t<std::is_scalar<NativeT>::value>>
33
35
  class AliasedBufferBase {
34
36
  public:
35
- AliasedBufferBase(v8::Isolate* isolate, const size_t count)
36
- : isolate_(isolate), count_(count), byte_offset_(0) {
37
+ AliasedBufferBase(v8::Isolate* isolate,
38
+ const size_t count,
39
+ const AliasedBufferIndex* index = nullptr)
40
+ : isolate_(isolate), count_(count), byte_offset_(0), index_(index) {
37
41
  CHECK_GT(count, 0);
42
+ if (index != nullptr) {
43
+ // Will be deserialized later.
44
+ return;
45
+ }
38
46
  const v8::HandleScope handle_scope(isolate_);
39
47
  const size_t size_in_bytes =
40
48
  MultiplyWithOverflowCheck(sizeof(NativeT), count);
@@ -62,10 +70,17 @@ class AliasedBufferBase {
62
70
  v8::Isolate* isolate,
63
71
  const size_t byte_offset,
64
72
  const size_t count,
65
- const AliasedBufferBase<uint8_t, v8::Uint8Array>& backing_buffer)
66
- : isolate_(isolate), count_(count), byte_offset_(byte_offset) {
73
+ const AliasedBufferBase<uint8_t, v8::Uint8Array>& backing_buffer,
74
+ const AliasedBufferIndex* index = nullptr)
75
+ : isolate_(isolate),
76
+ count_(count),
77
+ byte_offset_(byte_offset),
78
+ index_(index) {
79
+ if (index != nullptr) {
80
+ // Will be deserialized later.
81
+ return;
82
+ }
67
83
  const v8::HandleScope handle_scope(isolate_);
68
-
69
84
  v8::Local<v8::ArrayBuffer> ab = backing_buffer.GetArrayBuffer();
70
85
 
71
86
  // validate that the byte_offset is aligned with sizeof(NativeT)
@@ -86,10 +101,33 @@ class AliasedBufferBase {
86
101
  count_(that.count_),
87
102
  byte_offset_(that.byte_offset_),
88
103
  buffer_(that.buffer_) {
104
+ DCHECK_NULL(index_);
89
105
  js_array_ = v8::Global<V8T>(that.isolate_, that.GetJSArray());
90
106
  }
91
107
 
108
+ AliasedBufferIndex Serialize(v8::Local<v8::Context> context,
109
+ v8::SnapshotCreator* creator) {
110
+ DCHECK_NULL(index_);
111
+ return creator->AddData(context, GetJSArray());
112
+ }
113
+
114
+ inline void Deserialize(v8::Local<v8::Context> context) {
115
+ DCHECK_NOT_NULL(index_);
116
+ v8::Local<V8T> arr =
117
+ context->GetDataFromSnapshotOnce<V8T>(*index_).ToLocalChecked();
118
+ // These may not hold true for AliasedBuffers that have grown, so should
119
+ // be removed when we expand the snapshot support.
120
+ DCHECK_EQ(count_, arr->Length());
121
+ DCHECK_EQ(byte_offset_, arr->ByteOffset());
122
+ uint8_t* raw =
123
+ static_cast<uint8_t*>(arr->Buffer()->GetBackingStore()->Data());
124
+ buffer_ = reinterpret_cast<NativeT*>(raw + byte_offset_);
125
+ js_array_.Reset(isolate_, arr);
126
+ index_ = nullptr;
127
+ }
128
+
92
129
  AliasedBufferBase& operator=(AliasedBufferBase&& that) noexcept {
130
+ DCHECK_NULL(index_);
93
131
  this->~AliasedBufferBase();
94
132
  isolate_ = that.isolate_;
95
133
  count_ = that.count_;
@@ -155,9 +193,15 @@ class AliasedBufferBase {
155
193
  * Get the underlying v8 TypedArray overlayed on top of the native buffer
156
194
  */
157
195
  v8::Local<V8T> GetJSArray() const {
196
+ DCHECK_NULL(index_);
158
197
  return js_array_.Get(isolate_);
159
198
  }
160
199
 
200
+ void Release() {
201
+ DCHECK_NULL(index_);
202
+ js_array_.Reset();
203
+ }
204
+
161
205
  /**
162
206
  * Get the underlying v8::ArrayBuffer underlying the TypedArray and
163
207
  * overlaying the native buffer
@@ -171,6 +215,7 @@ class AliasedBufferBase {
171
215
  * through the GetValue/SetValue/operator[] methods
172
216
  */
173
217
  inline const NativeT* GetNativeBuffer() const {
218
+ DCHECK_NULL(index_);
174
219
  return buffer_;
175
220
  }
176
221
 
@@ -186,6 +231,7 @@ class AliasedBufferBase {
186
231
  */
187
232
  inline void SetValue(const size_t index, NativeT value) {
188
233
  DCHECK_LT(index, count_);
234
+ DCHECK_NULL(index_);
189
235
  buffer_[index] = value;
190
236
  }
191
237
 
@@ -193,6 +239,7 @@ class AliasedBufferBase {
193
239
  * Get value at position index
194
240
  */
195
241
  inline const NativeT GetValue(const size_t index) const {
242
+ DCHECK_NULL(index_);
196
243
  DCHECK_LT(index, count_);
197
244
  return buffer_[index];
198
245
  }
@@ -201,6 +248,7 @@ class AliasedBufferBase {
201
248
  * Effectively, a synonym for GetValue/SetValue
202
249
  */
203
250
  Reference operator[](size_t index) {
251
+ DCHECK_NULL(index_);
204
252
  return Reference(this, index);
205
253
  }
206
254
 
@@ -216,6 +264,7 @@ class AliasedBufferBase {
216
264
  // Should only be used on an owning array, not one created as a sub array of
217
265
  // an owning `AliasedBufferBase`.
218
266
  void reserve(size_t new_capacity) {
267
+ DCHECK_NULL(index_);
219
268
  DCHECK_GE(new_capacity, count_);
220
269
  DCHECK_EQ(byte_offset_, 0);
221
270
  const v8::HandleScope handle_scope(isolate_);
@@ -244,11 +293,14 @@ class AliasedBufferBase {
244
293
  }
245
294
 
246
295
  private:
247
- v8::Isolate* isolate_;
248
- size_t count_;
249
- size_t byte_offset_;
250
- NativeT* buffer_;
296
+ v8::Isolate* isolate_ = nullptr;
297
+ size_t count_ = 0;
298
+ size_t byte_offset_ = 0;
299
+ NativeT* buffer_ = nullptr;
251
300
  v8::Global<V8T> js_array_;
301
+
302
+ // Deserialize data
303
+ const AliasedBufferIndex* index_ = nullptr;
252
304
  };
253
305
 
254
306
  typedef AliasedBufferBase<int32_t, v8::Int32Array> AliasedInt32Array;
@@ -0,0 +1,54 @@
1
+ #ifndef SRC_ALIASED_STRUCT_INL_H_
2
+ #define SRC_ALIASED_STRUCT_INL_H_
3
+
4
+ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
+
6
+ #include "aliased_struct.h"
7
+ #include "v8.h"
8
+ #include <memory>
9
+
10
+ namespace node {
11
+
12
+ template <typename T>
13
+ template <typename... Args>
14
+ AliasedStruct<T>::AliasedStruct(v8::Isolate* isolate, Args&&... args)
15
+ : isolate_(isolate) {
16
+ const v8::HandleScope handle_scope(isolate);
17
+
18
+ store_ = v8::ArrayBuffer::NewBackingStore(isolate, sizeof(T));
19
+ ptr_ = new (store_->Data()) T(std::forward<Args>(args)...);
20
+ DCHECK_NOT_NULL(ptr_);
21
+
22
+ v8::Local<v8::ArrayBuffer> buffer = v8::ArrayBuffer::New(isolate, store_);
23
+ buffer_ = v8::Global<v8::ArrayBuffer>(isolate, buffer);
24
+ }
25
+
26
+ template <typename T>
27
+ AliasedStruct<T>::AliasedStruct(const AliasedStruct& that)
28
+ : AliasedStruct(that.isolate_, *that) {}
29
+
30
+ template <typename T>
31
+ AliasedStruct<T>& AliasedStruct<T>::operator=(
32
+ AliasedStruct<T>&& that) noexcept {
33
+ this->~AliasedStruct();
34
+ isolate_ = that.isolate_;
35
+ store_ = that.store_;
36
+ ptr_ = that.ptr_;
37
+
38
+ buffer_ = std::move(that.buffer_);
39
+
40
+ that.ptr_ = nullptr;
41
+ that.store_.reset();
42
+ return *this;
43
+ }
44
+
45
+ template <typename T>
46
+ AliasedStruct<T>::~AliasedStruct() {
47
+ if (ptr_ != nullptr) ptr_->~T();
48
+ }
49
+
50
+ } // namespace node
51
+
52
+ #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
53
+
54
+ #endif // SRC_ALIASED_STRUCT_INL_H_
@@ -0,0 +1,63 @@
1
+ #ifndef SRC_ALIASED_STRUCT_H_
2
+ #define SRC_ALIASED_STRUCT_H_
3
+
4
+ #if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
5
+
6
+ #include "node_internals.h"
7
+ #include "v8.h"
8
+ #include <memory>
9
+
10
+ namespace node {
11
+
12
+ // AliasedStruct is a utility that allows uses a V8 Backing Store
13
+ // to be exposed to the C++/C side as a struct and to the
14
+ // JavaScript side as an ArrayBuffer to efficiently share
15
+ // data without marshalling. It is similar in nature to
16
+ // AliasedBuffer.
17
+ //
18
+ // struct Foo { int x; }
19
+ //
20
+ // AliasedStruct<Foo> foo;
21
+ // foo->x = 1;
22
+ //
23
+ // Local<ArrayBuffer> ab = foo.GetArrayBuffer();
24
+ template <typename T>
25
+ class AliasedStruct final {
26
+ public:
27
+ template <typename... Args>
28
+ explicit AliasedStruct(v8::Isolate* isolate, Args&&... args);
29
+
30
+ inline AliasedStruct(const AliasedStruct& that);
31
+
32
+ inline ~AliasedStruct();
33
+
34
+ inline AliasedStruct& operator=(AliasedStruct&& that) noexcept;
35
+
36
+ v8::Local<v8::ArrayBuffer> GetArrayBuffer() const {
37
+ return buffer_.Get(isolate_);
38
+ }
39
+
40
+ const T* Data() const { return ptr_; }
41
+
42
+ T* Data() { return ptr_; }
43
+
44
+ const T& operator*() const { return *ptr_; }
45
+
46
+ T& operator*() { return *ptr_; }
47
+
48
+ const T* operator->() const { return ptr_; }
49
+
50
+ T* operator->() { return ptr_; }
51
+
52
+ private:
53
+ v8::Isolate* isolate_;
54
+ std::shared_ptr<v8::BackingStore> store_;
55
+ T* ptr_;
56
+ v8::Global<v8::ArrayBuffer> buffer_;
57
+ };
58
+
59
+ } // namespace node
60
+
61
+ #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
62
+
63
+ #endif // SRC_ALIASED_STRUCT_H_
File without changes
@@ -38,6 +38,7 @@ namespace node {
38
38
  V(ELDHISTOGRAM) \
39
39
  V(FILEHANDLE) \
40
40
  V(FILEHANDLECLOSEREQ) \
41
+ V(FIXEDSIZEBLOBCOPY) \
41
42
  V(FSEVENTWRAP) \
42
43
  V(FSREQCALLBACK) \
43
44
  V(FSREQPROMISE) \
@@ -51,6 +52,7 @@ namespace node {
51
52
  V(HTTPINCOMINGMESSAGE) \
52
53
  V(HTTPCLIENTREQUEST) \
53
54
  V(JSSTREAM) \
55
+ V(JSUDPWRAP) \
54
56
  V(MESSAGEPORT) \
55
57
  V(PIPECONNECTWRAP) \
56
58
  V(PIPESERVERWRAP) \
@@ -76,11 +78,20 @@ namespace node {
76
78
 
77
79
  #if HAVE_OPENSSL
78
80
  #define NODE_ASYNC_CRYPTO_PROVIDER_TYPES(V) \
81
+ V(CHECKPRIMEREQUEST) \
79
82
  V(PBKDF2REQUEST) \
80
83
  V(KEYPAIRGENREQUEST) \
84
+ V(KEYGENREQUEST) \
85
+ V(KEYEXPORTREQUEST) \
86
+ V(CIPHERREQUEST) \
87
+ V(DERIVEBITSREQUEST) \
88
+ V(HASHREQUEST) \
81
89
  V(RANDOMBYTESREQUEST) \
90
+ V(RANDOMPRIMEREQUEST) \
82
91
  V(SCRYPTREQUEST) \
83
- V(TLSWRAP)
92
+ V(SIGNREQUEST) \
93
+ V(TLSWRAP) \
94
+ V(VERIFYREQUEST)
84
95
  #else
85
96
  #define NODE_ASYNC_CRYPTO_PROVIDER_TYPES(V)
86
97
  #endif // HAVE_OPENSSL
@@ -99,6 +110,7 @@ namespace node {
99
110
 
100
111
  class Environment;
101
112
  class DestroyParam;
113
+ class ExternalReferenceRegistry;
102
114
 
103
115
  class AsyncWrap : public BaseObject {
104
116
  public:
@@ -128,6 +140,7 @@ class AsyncWrap : public BaseObject {
128
140
  static v8::Local<v8::FunctionTemplate> GetConstructorTemplate(
129
141
  Environment* env);
130
142
 
143
+ static void RegisterExternalReferences(ExternalReferenceRegistry* registry);
131
144
  static void Initialize(v8::Local<v8::Object> target,
132
145
  v8::Local<v8::Value> unused,
133
146
  v8::Local<v8::Context> context,
@@ -136,10 +149,16 @@ class AsyncWrap : public BaseObject {
136
149
  static void GetAsyncId(const v8::FunctionCallbackInfo<v8::Value>& args);
137
150
  static void PushAsyncContext(const v8::FunctionCallbackInfo<v8::Value>& args);
138
151
  static void PopAsyncContext(const v8::FunctionCallbackInfo<v8::Value>& args);
152
+ static void ExecutionAsyncResource(
153
+ const v8::FunctionCallbackInfo<v8::Value>& args);
154
+ static void ClearAsyncIdStack(
155
+ const v8::FunctionCallbackInfo<v8::Value>& args);
139
156
  static void AsyncReset(const v8::FunctionCallbackInfo<v8::Value>& args);
140
157
  static void GetProviderType(const v8::FunctionCallbackInfo<v8::Value>& args);
141
158
  static void QueueDestroyAsyncId(
142
159
  const v8::FunctionCallbackInfo<v8::Value>& args);
160
+ static void SetCallbackTrampoline(
161
+ const v8::FunctionCallbackInfo<v8::Value>& args);
143
162
 
144
163
  static void EmitAsyncInit(Environment* env,
145
164
  v8::Local<v8::Object> object,
@@ -208,11 +227,16 @@ class AsyncWrap : public BaseObject {
208
227
  ProviderType provider,
209
228
  double execution_async_id,
210
229
  bool silent);
230
+ AsyncWrap(Environment* env,
231
+ v8::Local<v8::Object> promise,
232
+ ProviderType provider,
233
+ double execution_async_id,
234
+ double trigger_async_id);
211
235
  ProviderType provider_type_ = PROVIDER_NONE;
212
236
  bool init_hook_ran_ = false;
213
237
  // Because the values may be Reset(), cannot be made const.
214
238
  double async_id_ = kInvalidAsyncId;
215
- double trigger_async_id_;
239
+ double trigger_async_id_ = kInvalidAsyncId;
216
240
  };
217
241
 
218
242
  } // namespace node