concurrent-c-node 0.5.0__tar.gz → 0.7.0__tar.gz
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.
- {concurrent_c_node-0.5.0 → concurrent_c_node-0.7.0}/PKG-INFO +12 -6
- {concurrent_c_node-0.5.0 → concurrent_c_node-0.7.0}/README.md +11 -5
- {concurrent_c_node-0.5.0 → concurrent_c_node-0.7.0}/cc_node/broker.cjs +5 -1
- {concurrent_c_node-0.5.0 → concurrent_c_node-0.7.0}/concurrent_c_node.egg-info/PKG-INFO +12 -6
- {concurrent_c_node-0.5.0 → concurrent_c_node-0.7.0}/pyproject.toml +1 -1
- {concurrent_c_node-0.5.0 → concurrent_c_node-0.7.0}/cc_node/__init__.py +0 -0
- {concurrent_c_node-0.5.0 → concurrent_c_node-0.7.0}/cc_node/examples/__init__.py +0 -0
- {concurrent_c_node-0.5.0 → concurrent_c_node-0.7.0}/cc_node/examples/bench_wire.py +0 -0
- {concurrent_c_node-0.5.0 → concurrent_c_node-0.7.0}/cc_node/examples/use_node.py +0 -0
- {concurrent_c_node-0.5.0 → concurrent_c_node-0.7.0}/concurrent_c_node.egg-info/SOURCES.txt +0 -0
- {concurrent_c_node-0.5.0 → concurrent_c_node-0.7.0}/concurrent_c_node.egg-info/dependency_links.txt +0 -0
- {concurrent_c_node-0.5.0 → concurrent_c_node-0.7.0}/concurrent_c_node.egg-info/top_level.txt +0 -0
- {concurrent_c_node-0.5.0 → concurrent_c_node-0.7.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: concurrent-c-node
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0
|
|
4
4
|
Summary: JavaScript and npm packages from Python over the Concurrent-C bridge: one spawned Node child per domain, host-controlled lifetime.
|
|
5
5
|
License: MIT
|
|
6
6
|
Project-URL: Repository, https://github.com/sreekotay/concurrent-c
|
|
@@ -61,6 +61,11 @@ Import stays `import cc_node`. Examples ship in the wheel. The mirror of
|
|
|
61
61
|
the handle ledger and `release()` drops one early; `destroy()` is
|
|
62
62
|
idempotent, every door answers `bridge is closed` after, and the
|
|
63
63
|
child dies with the bridge (and on host exit, via stdin EOF).
|
|
64
|
+
Teardown is **cooperative** (farewell `close` + drain, then wait /
|
|
65
|
+
kill-fallback): in-flight calls may still return a correct value.
|
|
66
|
+
Hard child death (`SIGKILL`, `process.abort`) is a different contract —
|
|
67
|
+
in-flight ops must reject. See
|
|
68
|
+
[`bridge_stress.md`](https://github.com/sreekotay/concurrent-c/blob/main/stress/bridge/bridge_stress.md).
|
|
64
69
|
|
|
65
70
|
## Async is free
|
|
66
71
|
|
|
@@ -124,8 +129,8 @@ Run Python in your project, get your project's packages: `npm install`
|
|
|
124
129
|
next to your program is the whole setup.
|
|
125
130
|
|
|
126
131
|
(Writing Concurrent-C itself rather than Python? There is a zero-IPC
|
|
127
|
-
tier: `
|
|
128
|
-
[`examples/
|
|
132
|
+
tier: `cc_js_new(false, &a)` boots libnode *inside* your CC program — see
|
|
133
|
+
[`examples/js/jsdemo.shcc`](https://github.com/sreekotay/concurrent-c/blob/main/examples/js/jsdemo.shcc).)
|
|
129
134
|
|
|
130
135
|
## Publishing
|
|
131
136
|
|
|
@@ -161,10 +166,11 @@ A worked tour (builtin Node modules, chains, callbacks, thenables,
|
|
|
161
166
|
buffers — no npm install needed):
|
|
162
167
|
`python -m cc_node.examples.use_node`.
|
|
163
168
|
|
|
164
|
-
Adversarial multi-child storm (
|
|
165
|
-
handle-leak / RSS soaks):
|
|
169
|
+
Adversarial multi-child storm (escaped closures, cooperative
|
|
170
|
+
fanout-destroy, abort inject, handle-leak / RSS soaks):
|
|
171
|
+
[`stress/bridge/`](https://github.com/sreekotay/concurrent-c/tree/main/stress/bridge)
|
|
166
172
|
— `./stress/bridge/run.sh` (`CHAOS_SCALE=full` / `soak` for bigger N).
|
|
167
|
-
Mode catalog +
|
|
173
|
+
Mode catalog + destroy contracts:
|
|
168
174
|
[`bridge_stress.md`](https://github.com/sreekotay/concurrent-c/blob/main/stress/bridge/bridge_stress.md)
|
|
169
175
|
(latency demos stay in `cc_node/examples/`).
|
|
170
176
|
|
|
@@ -50,6 +50,11 @@ Import stays `import cc_node`. Examples ship in the wheel. The mirror of
|
|
|
50
50
|
the handle ledger and `release()` drops one early; `destroy()` is
|
|
51
51
|
idempotent, every door answers `bridge is closed` after, and the
|
|
52
52
|
child dies with the bridge (and on host exit, via stdin EOF).
|
|
53
|
+
Teardown is **cooperative** (farewell `close` + drain, then wait /
|
|
54
|
+
kill-fallback): in-flight calls may still return a correct value.
|
|
55
|
+
Hard child death (`SIGKILL`, `process.abort`) is a different contract —
|
|
56
|
+
in-flight ops must reject. See
|
|
57
|
+
[`bridge_stress.md`](https://github.com/sreekotay/concurrent-c/blob/main/stress/bridge/bridge_stress.md).
|
|
53
58
|
|
|
54
59
|
## Async is free
|
|
55
60
|
|
|
@@ -113,8 +118,8 @@ Run Python in your project, get your project's packages: `npm install`
|
|
|
113
118
|
next to your program is the whole setup.
|
|
114
119
|
|
|
115
120
|
(Writing Concurrent-C itself rather than Python? There is a zero-IPC
|
|
116
|
-
tier: `
|
|
117
|
-
[`examples/
|
|
121
|
+
tier: `cc_js_new(false, &a)` boots libnode *inside* your CC program — see
|
|
122
|
+
[`examples/js/jsdemo.shcc`](https://github.com/sreekotay/concurrent-c/blob/main/examples/js/jsdemo.shcc).)
|
|
118
123
|
|
|
119
124
|
## Publishing
|
|
120
125
|
|
|
@@ -150,10 +155,11 @@ A worked tour (builtin Node modules, chains, callbacks, thenables,
|
|
|
150
155
|
buffers — no npm install needed):
|
|
151
156
|
`python -m cc_node.examples.use_node`.
|
|
152
157
|
|
|
153
|
-
Adversarial multi-child storm (
|
|
154
|
-
handle-leak / RSS soaks):
|
|
158
|
+
Adversarial multi-child storm (escaped closures, cooperative
|
|
159
|
+
fanout-destroy, abort inject, handle-leak / RSS soaks):
|
|
160
|
+
[`stress/bridge/`](https://github.com/sreekotay/concurrent-c/tree/main/stress/bridge)
|
|
155
161
|
— `./stress/bridge/run.sh` (`CHAOS_SCALE=full` / `soak` for bigger N).
|
|
156
|
-
Mode catalog +
|
|
162
|
+
Mode catalog + destroy contracts:
|
|
157
163
|
[`bridge_stress.md`](https://github.com/sreekotay/concurrent-c/blob/main/stress/bridge/bridge_stress.md)
|
|
158
164
|
(latency demos stay in `cc_node/examples/`).
|
|
159
165
|
|
|
@@ -10,7 +10,11 @@
|
|
|
10
10
|
* Python callable crosses as {$f: id}; invoking it sends a nested `cb`
|
|
11
11
|
* request and BLOCKS on a synchronous read for the answer — legal
|
|
12
12
|
* because the protocol is strictly alternating, so nothing else can be
|
|
13
|
-
* in flight. stdin EOF is the host vanishing: exit.
|
|
13
|
+
* in flight. stdin EOF is the host vanishing: exit.
|
|
14
|
+
*
|
|
15
|
+
* cc/include/ccc/script/js.cch embeds this file verbatim (the CC
|
|
16
|
+
* isolated tier speaks the same wire); js_iso_smoke pins the two
|
|
17
|
+
* byte-identical, so an edit here must land there too. */
|
|
14
18
|
'use strict';
|
|
15
19
|
|
|
16
20
|
const fs = require('fs');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: concurrent-c-node
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.7.0
|
|
4
4
|
Summary: JavaScript and npm packages from Python over the Concurrent-C bridge: one spawned Node child per domain, host-controlled lifetime.
|
|
5
5
|
License: MIT
|
|
6
6
|
Project-URL: Repository, https://github.com/sreekotay/concurrent-c
|
|
@@ -61,6 +61,11 @@ Import stays `import cc_node`. Examples ship in the wheel. The mirror of
|
|
|
61
61
|
the handle ledger and `release()` drops one early; `destroy()` is
|
|
62
62
|
idempotent, every door answers `bridge is closed` after, and the
|
|
63
63
|
child dies with the bridge (and on host exit, via stdin EOF).
|
|
64
|
+
Teardown is **cooperative** (farewell `close` + drain, then wait /
|
|
65
|
+
kill-fallback): in-flight calls may still return a correct value.
|
|
66
|
+
Hard child death (`SIGKILL`, `process.abort`) is a different contract —
|
|
67
|
+
in-flight ops must reject. See
|
|
68
|
+
[`bridge_stress.md`](https://github.com/sreekotay/concurrent-c/blob/main/stress/bridge/bridge_stress.md).
|
|
64
69
|
|
|
65
70
|
## Async is free
|
|
66
71
|
|
|
@@ -124,8 +129,8 @@ Run Python in your project, get your project's packages: `npm install`
|
|
|
124
129
|
next to your program is the whole setup.
|
|
125
130
|
|
|
126
131
|
(Writing Concurrent-C itself rather than Python? There is a zero-IPC
|
|
127
|
-
tier: `
|
|
128
|
-
[`examples/
|
|
132
|
+
tier: `cc_js_new(false, &a)` boots libnode *inside* your CC program — see
|
|
133
|
+
[`examples/js/jsdemo.shcc`](https://github.com/sreekotay/concurrent-c/blob/main/examples/js/jsdemo.shcc).)
|
|
129
134
|
|
|
130
135
|
## Publishing
|
|
131
136
|
|
|
@@ -161,10 +166,11 @@ A worked tour (builtin Node modules, chains, callbacks, thenables,
|
|
|
161
166
|
buffers — no npm install needed):
|
|
162
167
|
`python -m cc_node.examples.use_node`.
|
|
163
168
|
|
|
164
|
-
Adversarial multi-child storm (
|
|
165
|
-
handle-leak / RSS soaks):
|
|
169
|
+
Adversarial multi-child storm (escaped closures, cooperative
|
|
170
|
+
fanout-destroy, abort inject, handle-leak / RSS soaks):
|
|
171
|
+
[`stress/bridge/`](https://github.com/sreekotay/concurrent-c/tree/main/stress/bridge)
|
|
166
172
|
— `./stress/bridge/run.sh` (`CHAOS_SCALE=full` / `soak` for bigger N).
|
|
167
|
-
Mode catalog +
|
|
173
|
+
Mode catalog + destroy contracts:
|
|
168
174
|
[`bridge_stress.md`](https://github.com/sreekotay/concurrent-c/blob/main/stress/bridge/bridge_stress.md)
|
|
169
175
|
(latency demos stay in `cc_node/examples/`).
|
|
170
176
|
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "concurrent-c-node"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.7.0"
|
|
8
8
|
description = "JavaScript and npm packages from Python over the Concurrent-C bridge: one spawned Node child per domain, host-controlled lifetime."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.8"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{concurrent_c_node-0.5.0 → concurrent_c_node-0.7.0}/concurrent_c_node.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{concurrent_c_node-0.5.0 → concurrent_c_node-0.7.0}/concurrent_c_node.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|