Linux unitednationsplay.com 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
nginx/1.20.1
Server IP : 188.130.139.92 & Your IP : 18.216.1.197
Domains :
Cant Read [ /etc/named.conf ]
User : web
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
doc /
nodejs-docs-14.18.3 /
html /
api /
Delete
Unzip
Name
Size
Permission
Date
Action
assets
[ DIR ]
drwxr-xr-x
2022-01-26 16:43
addons.html
97.08
KB
-rw-r--r--
2022-01-10 13:06
addons.json
48.6
KB
-rw-r--r--
2022-01-10 13:06
addons.md
39.44
KB
-rw-r--r--
2022-01-10 13:06
all.html
5.06
MB
-rw-r--r--
2022-01-10 13:06
all.json
4.78
MB
-rw-r--r--
2022-01-10 13:06
assert.html
118.84
KB
-rw-r--r--
2022-01-10 13:06
assert.json
83.37
KB
-rw-r--r--
2022-01-10 13:06
assert.md
47.93
KB
-rw-r--r--
2022-01-10 13:06
async_hooks.html
94.53
KB
-rw-r--r--
2022-01-10 13:06
async_hooks.json
64.9
KB
-rw-r--r--
2022-01-10 13:06
async_hooks.md
38.62
KB
-rw-r--r--
2022-01-10 13:06
buffer.html
289.36
KB
-rw-r--r--
2022-01-10 13:06
buffer.json
227.52
KB
-rw-r--r--
2022-01-10 13:06
buffer.md
109.83
KB
-rw-r--r--
2022-01-10 13:06
child_process.html
156.96
KB
-rw-r--r--
2022-01-10 13:06
child_process.json
140.03
KB
-rw-r--r--
2022-01-10 13:06
child_process.md
69.69
KB
-rw-r--r--
2022-01-10 13:06
cli.html
99.52
KB
-rw-r--r--
2022-01-10 13:06
cli.json
97.49
KB
-rw-r--r--
2022-01-10 13:06
cli.md
47.37
KB
-rw-r--r--
2022-01-10 13:06
cluster.html
65.92
KB
-rw-r--r--
2022-01-10 13:06
cluster.json
45.84
KB
-rw-r--r--
2022-01-10 13:06
cluster.md
24.83
KB
-rw-r--r--
2022-01-10 13:06
console.html
50.57
KB
-rw-r--r--
2022-01-10 13:06
console.json
40.04
KB
-rw-r--r--
2022-01-10 13:06
console.md
16.55
KB
-rw-r--r--
2022-01-10 13:06
crypto.html
297.2
KB
-rw-r--r--
2022-01-10 13:06
crypto.json
261.36
KB
-rw-r--r--
2022-01-10 13:06
crypto.md
124.37
KB
-rw-r--r--
2022-01-10 13:06
debugger.html
21.62
KB
-rw-r--r--
2022-01-10 13:06
debugger.json
9.75
KB
-rw-r--r--
2022-01-10 13:06
debugger.md
6.43
KB
-rw-r--r--
2022-01-10 13:06
deprecations.html
142.64
KB
-rw-r--r--
2022-01-10 13:06
deprecations.json
164.68
KB
-rw-r--r--
2022-01-10 13:06
deprecations.md
81.32
KB
-rw-r--r--
2022-01-10 13:06
dgram.html
67.09
KB
-rw-r--r--
2022-01-10 13:06
dgram.json
57.33
KB
-rw-r--r--
2022-01-10 13:06
dgram.md
27.81
KB
-rw-r--r--
2022-01-10 13:06
diagnostics_channel.html
21.13
KB
-rw-r--r--
2022-01-10 13:06
diagnostics_channel.json
10.8
KB
-rw-r--r--
2022-01-10 13:06
diagnostics_channel.md
5.24
KB
-rw-r--r--
2022-01-10 13:06
dns.html
109.72
KB
-rw-r--r--
2022-01-10 13:06
dns.json
98.84
KB
-rw-r--r--
2022-01-10 13:06
dns.md
44.29
KB
-rw-r--r--
2022-01-10 13:06
documentation.html
18.4
KB
-rw-r--r--
2022-01-10 13:06
documentation.json
8.83
KB
-rw-r--r--
2022-01-10 13:06
documentation.md
4.05
KB
-rw-r--r--
2022-01-10 13:06
domain.html
41.38
KB
-rw-r--r--
2022-01-10 13:06
domain.json
22.06
KB
-rw-r--r--
2022-01-10 13:06
domain.md
15.2
KB
-rw-r--r--
2022-01-10 13:06
embedding.html
24.65
KB
-rw-r--r--
2022-01-10 13:06
embedding.json
10.05
KB
-rw-r--r--
2022-01-10 13:06
embedding.md
8.67
KB
-rw-r--r--
2022-01-10 13:06
errors.html
189.1
KB
-rw-r--r--
2022-01-10 13:06
errors.json
194.73
KB
-rw-r--r--
2022-01-10 13:06
errors.md
82.71
KB
-rw-r--r--
2022-01-10 13:06
esm.html
97.97
KB
-rw-r--r--
2022-01-10 13:06
esm.json
78.48
KB
-rw-r--r--
2022-01-10 13:06
esm.md
48.2
KB
-rw-r--r--
2022-01-10 13:06
events.html
129.56
KB
-rw-r--r--
2022-01-10 13:06
events.json
94.12
KB
-rw-r--r--
2022-01-10 13:06
events.md
43.71
KB
-rw-r--r--
2022-01-10 13:06
fs.html
503.09
KB
-rw-r--r--
2022-01-10 13:06
fs.json
500.22
KB
-rw-r--r--
2022-01-10 13:06
fs.md
210.32
KB
-rw-r--r--
2022-01-10 13:06
globals.html
29.55
KB
-rw-r--r--
2022-01-10 13:06
globals.json
31.16
KB
-rw-r--r--
2022-01-10 13:06
globals.md
8.21
KB
-rw-r--r--
2022-01-10 13:06
http.html
213.14
KB
-rw-r--r--
2022-01-10 13:06
http.json
214.96
KB
-rw-r--r--
2022-01-10 13:06
http.md
91.28
KB
-rw-r--r--
2022-01-10 13:06
http2.html
274.7
KB
-rw-r--r--
2022-01-10 13:06
http2.json
274.23
KB
-rw-r--r--
2022-01-10 13:06
http2.md
123.62
KB
-rw-r--r--
2022-01-10 13:06
https.html
44.54
KB
-rw-r--r--
2022-01-10 13:06
https.json
36.55
KB
-rw-r--r--
2022-01-10 13:06
https.md
14.58
KB
-rw-r--r--
2022-01-10 13:06
index.html
12.21
KB
-rw-r--r--
2022-01-10 13:06
index.json
54
B
-rw-r--r--
2022-01-10 13:06
index.md
1.73
KB
-rw-r--r--
2022-01-10 13:06
inspector.html
25.57
KB
-rw-r--r--
2022-01-10 13:06
inspector.json
13.43
KB
-rw-r--r--
2022-01-10 13:06
inspector.md
6.66
KB
-rw-r--r--
2022-01-10 13:06
intl.html
25.1
KB
-rw-r--r--
2022-01-10 13:06
intl.json
14.5
KB
-rw-r--r--
2022-01-10 13:06
intl.md
10.46
KB
-rw-r--r--
2022-01-10 13:06
module.html
23.9
KB
-rw-r--r--
2022-01-10 13:06
module.json
13.29
KB
-rw-r--r--
2022-01-10 13:06
module.md
5.2
KB
-rw-r--r--
2022-01-10 13:06
modules.html
67.19
KB
-rw-r--r--
2022-01-10 13:06
modules.json
48.92
KB
-rw-r--r--
2022-01-10 13:06
modules.md
30.83
KB
-rw-r--r--
2022-01-10 13:06
n-api.html
336.63
KB
-rw-r--r--
2022-01-10 13:06
n-api.json
330.37
KB
-rw-r--r--
2022-01-10 13:06
n-api.md
206.51
KB
-rw-r--r--
2022-01-10 13:06
net.html
111.64
KB
-rw-r--r--
2022-01-10 13:06
net.json
108.87
KB
-rw-r--r--
2022-01-10 13:06
net.md
44.19
KB
-rw-r--r--
2022-01-10 13:06
os.html
60.56
KB
-rw-r--r--
2022-01-10 13:06
os.json
50.72
KB
-rw-r--r--
2022-01-10 13:06
os.md
33.98
KB
-rw-r--r--
2022-01-10 13:06
packages.html
80.39
KB
-rw-r--r--
2022-01-10 13:06
packages.json
59.35
KB
-rw-r--r--
2022-01-10 13:06
packages.md
39.1
KB
-rw-r--r--
2022-01-10 13:06
path.html
43.66
KB
-rw-r--r--
2022-01-10 13:06
path.json
27.96
KB
-rw-r--r--
2022-01-10 13:06
path.md
14.46
KB
-rw-r--r--
2022-01-10 13:06
perf_hooks.html
71.71
KB
-rw-r--r--
2022-01-10 13:06
perf_hooks.json
49.24
KB
-rw-r--r--
2022-01-10 13:06
perf_hooks.md
23.17
KB
-rw-r--r--
2022-01-10 13:06
policy.html
35.98
KB
-rw-r--r--
2022-01-10 13:06
policy.json
18.38
KB
-rw-r--r--
2022-01-10 13:06
policy.md
13.9
KB
-rw-r--r--
2022-01-10 13:06
process.html
192.69
KB
-rw-r--r--
2022-01-10 13:06
process.json
150.9
KB
-rw-r--r--
2022-01-10 13:06
process.md
86.44
KB
-rw-r--r--
2022-01-10 13:06
punycode.html
19.88
KB
-rw-r--r--
2022-01-10 13:06
punycode.json
8.79
KB
-rw-r--r--
2022-01-10 13:06
punycode.md
4.17
KB
-rw-r--r--
2022-01-10 13:06
querystring.html
22.01
KB
-rw-r--r--
2022-01-10 13:06
querystring.json
12.74
KB
-rw-r--r--
2022-01-10 13:06
querystring.md
5.48
KB
-rw-r--r--
2022-01-10 13:06
readline.html
69.79
KB
-rw-r--r--
2022-01-10 13:06
readline.json
55.74
KB
-rw-r--r--
2022-01-10 13:06
readline.md
28.04
KB
-rw-r--r--
2022-01-10 13:06
repl.html
58.19
KB
-rw-r--r--
2022-01-10 13:06
repl.json
44.5
KB
-rw-r--r--
2022-01-10 13:06
repl.md
23.61
KB
-rw-r--r--
2022-01-10 13:06
report.html
71.4
KB
-rw-r--r--
2022-01-10 13:06
report.json
21.23
KB
-rw-r--r--
2022-01-10 13:06
report.md
17.92
KB
-rw-r--r--
2022-01-10 13:06
stream.html
226.43
KB
-rw-r--r--
2022-01-10 13:06
stream.json
223.31
KB
-rw-r--r--
2022-01-10 13:06
stream.md
100.94
KB
-rw-r--r--
2022-01-10 13:06
string_decoder.html
17.5
KB
-rw-r--r--
2022-01-10 13:06
string_decoder.json
5.8
KB
-rw-r--r--
2022-01-10 13:06
string_decoder.md
2.94
KB
-rw-r--r--
2022-01-10 13:06
synopsis.html
13.93
KB
-rw-r--r--
2022-01-10 13:06
synopsis.json
2.97
KB
-rw-r--r--
2022-01-10 13:06
synopsis.md
2.13
KB
-rw-r--r--
2022-01-10 13:06
timers.html
32.99
KB
-rw-r--r--
2022-01-10 13:06
timers.json
23.92
KB
-rw-r--r--
2022-01-10 13:06
timers.md
10.55
KB
-rw-r--r--
2022-01-10 13:06
tls.html
152.2
KB
-rw-r--r--
2022-01-10 13:06
tls.json
161.77
KB
-rw-r--r--
2022-01-10 13:06
tls.md
81.06
KB
-rw-r--r--
2022-01-10 13:06
tracing.html
22.43
KB
-rw-r--r--
2022-01-10 13:06
tracing.json
12.14
KB
-rw-r--r--
2022-01-10 13:06
tracing.md
6.59
KB
-rw-r--r--
2022-01-10 13:06
tty.html
29.16
KB
-rw-r--r--
2022-01-10 13:06
tty.json
22.31
KB
-rw-r--r--
2022-01-10 13:06
tty.md
8.78
KB
-rw-r--r--
2022-01-10 13:06
url.html
122.38
KB
-rw-r--r--
2022-01-10 13:06
url.json
88.21
KB
-rw-r--r--
2022-01-10 13:06
url.md
49.32
KB
-rw-r--r--
2022-01-10 13:06
util.html
199.52
KB
-rw-r--r--
2022-01-10 13:06
util.json
171.18
KB
-rw-r--r--
2022-01-10 13:06
util.md
71.47
KB
-rw-r--r--
2022-01-10 13:06
v8.html
51.61
KB
-rw-r--r--
2022-01-10 13:06
v8.json
39.5
KB
-rw-r--r--
2022-01-10 13:06
v8.md
16.55
KB
-rw-r--r--
2022-01-10 13:06
vm.html
123.51
KB
-rw-r--r--
2022-01-10 13:06
vm.json
113.19
KB
-rw-r--r--
2022-01-10 13:06
vm.md
55.37
KB
-rw-r--r--
2022-01-10 13:06
wasi.html
21.16
KB
-rw-r--r--
2022-01-10 13:06
wasi.json
11.72
KB
-rw-r--r--
2022-01-10 13:06
wasi.md
6.27
KB
-rw-r--r--
2022-01-10 13:06
worker_threads.html
90.29
KB
-rw-r--r--
2022-01-10 13:06
worker_threads.json
69.84
KB
-rw-r--r--
2022-01-10 13:06
worker_threads.md
39
KB
-rw-r--r--
2022-01-10 13:06
zlib.html
95.09
KB
-rw-r--r--
2022-01-10 13:06
zlib.json
100.2
KB
-rw-r--r--
2022-01-10 13:06
zlib.md
35.03
KB
-rw-r--r--
2022-01-10 13:06
Save
Rename
{ "type": "module", "source": "doc/api/embedding.md", "modules": [ { "textRaw": "C++ embedder API", "name": "c++_embedder_api", "introduced_in": "v14.0.0", "desc": "<p>Node.js provides a number of C++ APIs that can be used to execute JavaScript\nin a Node.js environment from other C++ software.</p>\n<p>The documentation for these APIs can be found in <a href=\"https://github.com/nodejs/node/blob/HEAD/src/node.h\">src/node.h</a> in the Node.js\nsource tree. In addition to the APIs exposed by Node.js, some required concepts\nare provided by the V8 embedder API.</p>\n<p>Because using Node.js as an embedded library is different from writing code\nthat is executed by Node.js, breaking changes do not follow typical Node.js\n<a href=\"deprecations.html\">deprecation policy</a> and may occur on each semver-major release without prior\nwarning.</p>\n<h2>Example embedding application</h2>\n<p>The following sections will provide an overview over how to use these APIs\nto create an application from scratch that will perform the equivalent of\n<code>node -e <code></code>, i.e. that will take a piece of JavaScript and run it in\na Node.js-specific environment.</p>\n<p>The full code can be found <a href=\"https://github.com/nodejs/node/blob/HEAD/test/embedding/embedtest.cc\">in the Node.js source tree</a>.</p>", "modules": [ { "textRaw": "Setting up per-process state", "name": "setting_up_per-process_state", "desc": "<p>Node.js requires some per-process state management in order to run:</p>\n<ul>\n<li>Arguments parsing for Node.js <a href=\"cli.html\">CLI options</a>,</li>\n<li>V8 per-process requirements, such as a <code>v8::Platform</code> instance.</li>\n</ul>\n<p>The following example shows how these can be set up. Some class names are from\nthe <code>node</code> and <code>v8</code> C++ namespaces, respectively.</p>\n<pre><code class=\"language-cpp\">int main(int argc, char** argv) {\n argv = uv_setup_args(argc, argv);\n std::vector<std::string> args(argv, argv + argc);\n std::vector<std::string> exec_args;\n std::vector<std::string> errors;\n // Parse Node.js CLI options, and print any errors that have occurred while\n // trying to parse them.\n int exit_code = node::InitializeNodeWithArgs(&args, &exec_args, &errors);\n for (const std::string& error : errors)\n fprintf(stderr, \"%s: %s\\n\", args[0].c_str(), error.c_str());\n if (exit_code != 0) {\n return exit_code;\n }\n\n // Create a v8::Platform instance. `MultiIsolatePlatform::Create()` is a way\n // to create a v8::Platform instance that Node.js can use when creating\n // Worker threads. When no `MultiIsolatePlatform` instance is present,\n // Worker threads are disabled.\n std::unique_ptr<MultiIsolatePlatform> platform =\n MultiIsolatePlatform::Create(4);\n V8::InitializePlatform(platform.get());\n V8::Initialize();\n\n // See below for the contents of this function.\n int ret = RunNodeInstance(platform.get(), args, exec_args);\n\n V8::Dispose();\n V8::ShutdownPlatform();\n return ret;\n}\n</code></pre>", "type": "module", "displayName": "Setting up per-process state" }, { "textRaw": "Per-instance state", "name": "per-instance_state", "desc": "<p>Node.js has a concept of a “Node.js instance”, that is commonly being referred\nto as <code>node::Environment</code>. Each <code>node::Environment</code> is associated with:</p>\n<ul>\n<li>Exactly one <code>v8::Isolate</code>, i.e. one JS Engine instance,</li>\n<li>Exactly one <code>uv_loop_t</code>, i.e. one event loop, and</li>\n<li>A number of <code>v8::Context</code>s, but exactly one main <code>v8::Context</code>.</li>\n<li>One <code>node::IsolateData</code> instance that contains information that could be\nshared by multiple <code>node::Environment</code>s that use the same <code>v8::Isolate</code>.\nCurrently, no testing if performed for this scenario.</li>\n</ul>\n<p>In order to set up a <code>v8::Isolate</code>, an <code>v8::ArrayBuffer::Allocator</code> needs\nto be provided. One possible choice is the default Node.js allocator, which\ncan be created through <code>node::ArrayBufferAllocator::Create()</code>. Using the Node.js\nallocator allows minor performance optimizations when addons use the Node.js\nC++ <code>Buffer</code> API, and is required in order to track <code>ArrayBuffer</code> memory in\n<a href=\"process.html#process_process_memoryusage\"><code>process.memoryUsage()</code></a>.</p>\n<p>Additionally, each <code>v8::Isolate</code> that is used for a Node.js instance needs to\nbe registered and unregistered with the <code>MultiIsolatePlatform</code> instance, if one\nis being used, in order for the platform to know which event loop to use\nfor tasks scheduled by the <code>v8::Isolate</code>.</p>\n<p>The <code>node::NewIsolate()</code> helper function creates a <code>v8::Isolate</code>,\nsets it up with some Node.js-specific hooks (e.g. the Node.js error handler),\nand registers it with the platform automatically.</p>\n<pre><code class=\"language-cpp\">int RunNodeInstance(MultiIsolatePlatform* platform,\n const std::vector<std::string>& args,\n const std::vector<std::string>& exec_args) {\n int exit_code = 0;\n // Set up a libuv event loop.\n uv_loop_t loop;\n int ret = uv_loop_init(&loop);\n if (ret != 0) {\n fprintf(stderr, \"%s: Failed to initialize loop: %s\\n\",\n args[0].c_str(),\n uv_err_name(ret));\n return 1;\n }\n\n std::shared_ptr<ArrayBufferAllocator> allocator =\n ArrayBufferAllocator::Create();\n\n Isolate* isolate = NewIsolate(allocator, &loop, platform);\n if (isolate == nullptr) {\n fprintf(stderr, \"%s: Failed to initialize V8 Isolate\\n\", args[0].c_str());\n return 1;\n }\n\n {\n Locker locker(isolate);\n Isolate::Scope isolate_scope(isolate);\n\n // Create a node::IsolateData instance that will later be released using\n // node::FreeIsolateData().\n std::unique_ptr<IsolateData, decltype(&node::FreeIsolateData)> isolate_data(\n node::CreateIsolateData(isolate, &loop, platform, allocator.get()),\n node::FreeIsolateData);\n\n // Set up a new v8::Context.\n HandleScope handle_scope(isolate);\n Local<Context> context = node::NewContext(isolate);\n if (context.IsEmpty()) {\n fprintf(stderr, \"%s: Failed to initialize V8 Context\\n\", args[0].c_str());\n return 1;\n }\n\n // The v8::Context needs to be entered when node::CreateEnvironment() and\n // node::LoadEnvironment() are being called.\n Context::Scope context_scope(context);\n\n // Create a node::Environment instance that will later be released using\n // node::FreeEnvironment().\n std::unique_ptr<Environment, decltype(&node::FreeEnvironment)> env(\n node::CreateEnvironment(isolate_data.get(), context, args, exec_args),\n node::FreeEnvironment);\n\n // Set up the Node.js instance for execution, and run code inside of it.\n // There is also a variant that takes a callback and provides it with\n // the `require` and `process` objects, so that it can manually compile\n // and run scripts as needed.\n // The `require` function inside this script does *not* access the file\n // system, and can only load built-in Node.js modules.\n // `module.createRequire()` is being used to create one that is able to\n // load files from the disk, and uses the standard CommonJS file loader\n // instead of the internal-only `require` function.\n MaybeLocal<Value> loadenv_ret = node::LoadEnvironment(\n env.get(),\n \"const publicRequire =\"\n \" require('module').createRequire(process.cwd() + '/');\"\n \"globalThis.require = publicRequire;\"\n \"require('vm').runInThisContext(process.argv[1]);\");\n\n if (loadenv_ret.IsEmpty()) // There has been a JS exception.\n return 1;\n\n {\n // SealHandleScope protects against handle leaks from callbacks.\n SealHandleScope seal(isolate);\n bool more;\n do {\n uv_run(&loop, UV_RUN_DEFAULT);\n\n // V8 tasks on background threads may end up scheduling new tasks in the\n // foreground, which in turn can keep the event loop going. For example,\n // WebAssembly.compile() may do so.\n platform->DrainTasks(isolate);\n\n // If there are new tasks, continue.\n more = uv_loop_alive(&loop);\n if (more) continue;\n\n // node::EmitProcessBeforeExit() is used to emit the 'beforeExit' event\n // on the `process` object.\n if (node::EmitProcessBeforeExit(env.get()).IsNothing())\n break;\n\n // 'beforeExit' can also schedule new work that keeps the event loop\n // running.\n more = uv_loop_alive(&loop);\n } while (more == true);\n }\n\n // node::EmitProcessExit() returns the current exit code.\n exit_code = node::EmitProcessExit(env.get()).FromMaybe(1);\n\n // node::Stop() can be used to explicitly stop the event loop and keep\n // further JavaScript from running. It can be called from any thread,\n // and will act like worker.terminate() if called from another thread.\n node::Stop(env.get());\n }\n\n // Unregister the Isolate with the platform and add a listener that is called\n // when the Platform is done cleaning up any state it had associated with\n // the Isolate.\n bool platform_finished = false;\n platform->AddIsolateFinishedCallback(isolate, [](void* data) {\n *static_cast<bool*>(data) = true;\n }, &platform_finished);\n platform->UnregisterIsolate(isolate);\n isolate->Dispose();\n\n // Wait until the platform has cleaned up all relevant resources.\n while (!platform_finished)\n uv_run(&loop, UV_RUN_ONCE);\n int err = uv_loop_close(&loop);\n assert(err == 0);\n\n return exit_code;\n}\n</code></pre>", "type": "module", "displayName": "Per-instance state" } ], "type": "module", "displayName": "C++ embedder API" } ] }