@minip2p/react-native 0.7.1 → 0.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/android/src/main/jniLibs/arm64-v8a/libminip2p_ffi.so +0 -0
- package/android/src/main/jniLibs/x86_64/libminip2p_ffi.so +0 -0
- package/build/Minip2pFfi.xcframework/Info.plist +4 -4
- package/build/Minip2pFfi.xcframework/ios-arm64/libminip2p_ffi.a +2 -2
- package/build/Minip2pFfi.xcframework/ios-arm64-simulator/libminip2p_ffi.a +2 -2
- package/cpp/generated/minip2p_ffi.cpp +12 -8
- package/lib/module/adapter.js +51 -47
- package/lib/module/adapter.js.map +1 -1
- package/lib/module/generated/minip2p_ffi.js +135 -78
- package/lib/module/generated/minip2p_ffi.js.map +1 -1
- package/lib/typescript/src/adapter.d.ts.map +1 -1
- package/lib/typescript/src/generated/minip2p_ffi-ffi.d.ts +4 -4
- package/lib/typescript/src/generated/minip2p_ffi-ffi.d.ts.map +1 -1
- package/lib/typescript/src/generated/minip2p_ffi.d.ts +105 -43
- package/lib/typescript/src/generated/minip2p_ffi.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/adapter.ts +77 -46
- package/src/generated/minip2p_ffi-ffi.ts +4 -4
- package/src/generated/minip2p_ffi.ts +160 -86
package/README.md
CHANGED
|
@@ -60,6 +60,7 @@ Configuration defaults to gossipsub with signed messages and no relay or discove
|
|
|
60
60
|
- Operations support timeouts and `AbortSignal` cancellation.
|
|
61
61
|
- Events are delivered FIFO through a bounded queue; handle `queueOverflow` by refreshing queryable state.
|
|
62
62
|
- Use a named `stream` handler to claim inbound streams.
|
|
63
|
+
- A peer holds one connection: `connectionReplaced` moves it to a newer connection and ends streams on the old one, and `waitPeerReady` waits for the current connection's `peerReady`.
|
|
63
64
|
- Unsigned pubsub payloads and peer IDs are attacker-controlled.
|
|
64
65
|
- `close()` rejects pending work, closes streams, and shuts down the endpoint.
|
|
65
66
|
|
|
Binary file
|
|
Binary file
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<key>BinaryPath</key>
|
|
9
9
|
<string>libminip2p_ffi.a</string>
|
|
10
10
|
<key>LibraryIdentifier</key>
|
|
11
|
-
<string>ios-arm64</string>
|
|
11
|
+
<string>ios-arm64-simulator</string>
|
|
12
12
|
<key>LibraryPath</key>
|
|
13
13
|
<string>libminip2p_ffi.a</string>
|
|
14
14
|
<key>SupportedArchitectures</key>
|
|
@@ -17,12 +17,14 @@
|
|
|
17
17
|
</array>
|
|
18
18
|
<key>SupportedPlatform</key>
|
|
19
19
|
<string>ios</string>
|
|
20
|
+
<key>SupportedPlatformVariant</key>
|
|
21
|
+
<string>simulator</string>
|
|
20
22
|
</dict>
|
|
21
23
|
<dict>
|
|
22
24
|
<key>BinaryPath</key>
|
|
23
25
|
<string>libminip2p_ffi.a</string>
|
|
24
26
|
<key>LibraryIdentifier</key>
|
|
25
|
-
<string>ios-arm64
|
|
27
|
+
<string>ios-arm64</string>
|
|
26
28
|
<key>LibraryPath</key>
|
|
27
29
|
<string>libminip2p_ffi.a</string>
|
|
28
30
|
<key>SupportedArchitectures</key>
|
|
@@ -31,8 +33,6 @@
|
|
|
31
33
|
</array>
|
|
32
34
|
<key>SupportedPlatform</key>
|
|
33
35
|
<string>ios</string>
|
|
34
|
-
<key>SupportedPlatformVariant</key>
|
|
35
|
-
<string>simulator</string>
|
|
36
36
|
</dict>
|
|
37
37
|
</array>
|
|
38
38
|
<key>CFBundlePackageType</key>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/build/Minip2pFfi.xcframework/ios-arm64/libminip2p_ffi.a
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 45548880 bytes
|
|
4
|
+
sha256: 500c3405b6563e0fa696fb9dc70a31f911bf43bed716e084a32b282a127bff71
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/build/Minip2pFfi.xcframework/ios-arm64-simulator/libminip2p_ffi.a
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 46206720 bytes
|
|
4
|
+
sha256: 50b522e7e8a32b706fbc98244b631f14ac84ebffcd0cc3b3cc7ed992fe886d54
|
|
@@ -169,6 +169,7 @@ extern "C" {
|
|
|
169
169
|
void uniffi_minip2p_ffi_fn_method_p2pendpoint_abandon_stream(
|
|
170
170
|
/*handle*/ uint64_t ptr,
|
|
171
171
|
RustBuffer peer_id,
|
|
172
|
+
uint64_t conn_id,
|
|
172
173
|
uint64_t stream_id,
|
|
173
174
|
RustCallStatus *uniffi_out_err
|
|
174
175
|
);
|
|
@@ -189,6 +190,7 @@ extern "C" {
|
|
|
189
190
|
void uniffi_minip2p_ffi_fn_method_p2pendpoint_close_stream_write(
|
|
190
191
|
/*handle*/ uint64_t ptr,
|
|
191
192
|
RustBuffer peer_id,
|
|
193
|
+
uint64_t conn_id,
|
|
192
194
|
uint64_t stream_id,
|
|
193
195
|
RustCallStatus *uniffi_out_err
|
|
194
196
|
);
|
|
@@ -275,12 +277,14 @@ extern "C" {
|
|
|
275
277
|
void uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_stream(
|
|
276
278
|
/*handle*/ uint64_t ptr,
|
|
277
279
|
RustBuffer peer_id,
|
|
280
|
+
uint64_t conn_id,
|
|
278
281
|
uint64_t stream_id,
|
|
279
282
|
RustCallStatus *uniffi_out_err
|
|
280
283
|
);
|
|
281
284
|
void uniffi_minip2p_ffi_fn_method_p2pendpoint_send_stream(
|
|
282
285
|
/*handle*/ uint64_t ptr,
|
|
283
286
|
RustBuffer peer_id,
|
|
287
|
+
uint64_t conn_id,
|
|
284
288
|
uint64_t stream_id,
|
|
285
289
|
RustBuffer data,
|
|
286
290
|
RustCallStatus *uniffi_out_err
|
|
@@ -2554,7 +2558,7 @@ NativeMinip2pFfi::NativeMinip2pFfi(
|
|
|
2554
2558
|
props["ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_abandon_stream"] = jsi::Function::createFromHostFunction(
|
|
2555
2559
|
rt,
|
|
2556
2560
|
jsi::PropNameID::forAscii(rt, "ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_abandon_stream"),
|
|
2557
|
-
|
|
2561
|
+
4,
|
|
2558
2562
|
[this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
|
|
2559
2563
|
return this->cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_abandon_stream(rt, thisVal, args, count);
|
|
2560
2564
|
}
|
|
@@ -2586,7 +2590,7 @@ NativeMinip2pFfi::NativeMinip2pFfi(
|
|
|
2586
2590
|
props["ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_close_stream_write"] = jsi::Function::createFromHostFunction(
|
|
2587
2591
|
rt,
|
|
2588
2592
|
jsi::PropNameID::forAscii(rt, "ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_close_stream_write"),
|
|
2589
|
-
|
|
2593
|
+
4,
|
|
2590
2594
|
[this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
|
|
2591
2595
|
return this->cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_close_stream_write(rt, thisVal, args, count);
|
|
2592
2596
|
}
|
|
@@ -2730,7 +2734,7 @@ NativeMinip2pFfi::NativeMinip2pFfi(
|
|
|
2730
2734
|
props["ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_stream"] = jsi::Function::createFromHostFunction(
|
|
2731
2735
|
rt,
|
|
2732
2736
|
jsi::PropNameID::forAscii(rt, "ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_stream"),
|
|
2733
|
-
|
|
2737
|
+
4,
|
|
2734
2738
|
[this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
|
|
2735
2739
|
return this->cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_stream(rt, thisVal, args, count);
|
|
2736
2740
|
}
|
|
@@ -2738,7 +2742,7 @@ NativeMinip2pFfi::NativeMinip2pFfi(
|
|
|
2738
2742
|
props["ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_send_stream"] = jsi::Function::createFromHostFunction(
|
|
2739
2743
|
rt,
|
|
2740
2744
|
jsi::PropNameID::forAscii(rt, "ubrn_uniffi_minip2p_ffi_fn_method_p2pendpoint_send_stream"),
|
|
2741
|
-
|
|
2745
|
+
5,
|
|
2742
2746
|
[this](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *args, size_t count) -> jsi::Value {
|
|
2743
2747
|
return this->cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_send_stream(rt, thisVal, args, count);
|
|
2744
2748
|
}
|
|
@@ -3374,7 +3378,7 @@ jsi::Value NativeMinip2pFfi::cpp_uniffi_minip2p_ffi_fn_constructor_p2pendpoint_n
|
|
|
3374
3378
|
}
|
|
3375
3379
|
jsi::Value NativeMinip2pFfi::cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_abandon_stream(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
|
|
3376
3380
|
RustCallStatus status = uniffi::minip2p_ffi::Bridging<RustCallStatus>::rustSuccess(rt);
|
|
3377
|
-
uniffi_minip2p_ffi_fn_method_p2pendpoint_abandon_stream(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::minip2p_ffi::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]),
|
|
3381
|
+
uniffi_minip2p_ffi_fn_method_p2pendpoint_abandon_stream(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::minip2p_ffi::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[3]),
|
|
3378
3382
|
&status
|
|
3379
3383
|
);
|
|
3380
3384
|
uniffi::minip2p_ffi::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);
|
|
@@ -3414,7 +3418,7 @@ jsi::Value NativeMinip2pFfi::cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_cancel
|
|
|
3414
3418
|
}
|
|
3415
3419
|
jsi::Value NativeMinip2pFfi::cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_close_stream_write(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
|
|
3416
3420
|
RustCallStatus status = uniffi::minip2p_ffi::Bridging<RustCallStatus>::rustSuccess(rt);
|
|
3417
|
-
uniffi_minip2p_ffi_fn_method_p2pendpoint_close_stream_write(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::minip2p_ffi::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]),
|
|
3421
|
+
uniffi_minip2p_ffi_fn_method_p2pendpoint_close_stream_write(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::minip2p_ffi::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[3]),
|
|
3418
3422
|
&status
|
|
3419
3423
|
);
|
|
3420
3424
|
uniffi::minip2p_ffi::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);
|
|
@@ -3594,7 +3598,7 @@ jsi::Value NativeMinip2pFfi::cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_reacha
|
|
|
3594
3598
|
}
|
|
3595
3599
|
jsi::Value NativeMinip2pFfi::cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_stream(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
|
|
3596
3600
|
RustCallStatus status = uniffi::minip2p_ffi::Bridging<RustCallStatus>::rustSuccess(rt);
|
|
3597
|
-
uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_stream(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::minip2p_ffi::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]),
|
|
3601
|
+
uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_stream(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::minip2p_ffi::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[3]),
|
|
3598
3602
|
&status
|
|
3599
3603
|
);
|
|
3600
3604
|
uniffi::minip2p_ffi::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);
|
|
@@ -3604,7 +3608,7 @@ jsi::Value NativeMinip2pFfi::cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_reset_
|
|
|
3604
3608
|
}
|
|
3605
3609
|
jsi::Value NativeMinip2pFfi::cpp_uniffi_minip2p_ffi_fn_method_p2pendpoint_send_stream(jsi::Runtime& rt, const jsi::Value& thisVal, const jsi::Value* args, size_t count) {
|
|
3606
3610
|
RustCallStatus status = uniffi::minip2p_ffi::Bridging<RustCallStatus>::rustSuccess(rt);
|
|
3607
|
-
uniffi_minip2p_ffi_fn_method_p2pendpoint_send_stream(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::minip2p_ffi::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]), uniffi::minip2p_ffi::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[
|
|
3611
|
+
uniffi_minip2p_ffi_fn_method_p2pendpoint_send_stream(uniffi_jsi::Bridging</*handle*/ uint64_t>::fromJs(rt, callInvoker, args[0]), uniffi::minip2p_ffi::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[1]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[2]), uniffi_jsi::Bridging<uint64_t>::fromJs(rt, callInvoker, args[3]), uniffi::minip2p_ffi::Bridging<RustBuffer>::fromJs(rt, callInvoker, args[4]),
|
|
3608
3612
|
&status
|
|
3609
3613
|
);
|
|
3610
3614
|
uniffi::minip2p_ffi::Bridging<RustCallStatus>::copyIntoJs(rt, callInvoker, status, args[count - 1]);
|
package/lib/module/adapter.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
/* oxlint-disable class-methods-use-this, complexity, func-style, max-classes-per-file, no-use-before-define -- The adapter keeps its contract-complete native endpoint and public SDK subclass together, and uses hoisted conversion helpers. */
|
|
4
4
|
|
|
5
|
-
import {
|
|
6
|
-
import { P2pEvent_Tags, resolveEndpointConfig } from "@minip2p/core/backend";
|
|
5
|
+
import { Minip2pBase, StreamClosedError } from "@minip2p/core";
|
|
6
|
+
import { P2pEvent_Tags, resolveEndpointConfig, typedFfiError } from "@minip2p/core/backend";
|
|
7
7
|
import { EventDrain } from "./event-drain.js";
|
|
8
|
-
import { ConnectTarget,
|
|
8
|
+
import { ConnectTarget, P2pEndpoint, circuitAddress as nativeCircuitAddress, generateSecretKey as nativeGenerateSecretKey, peerIdFromSecretKey as nativePeerIdFromSecretKey } from "./native.js";
|
|
9
9
|
import nativeModule from "./NativeMinip2p.js";
|
|
10
10
|
class ReactNativeBackend {
|
|
11
11
|
#endpoint;
|
|
@@ -87,12 +87,14 @@ class ReactNativeBackend {
|
|
|
87
87
|
if (info === undefined) {
|
|
88
88
|
return undefined;
|
|
89
89
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
90
|
+
return {
|
|
91
|
+
connId: this.#connectionIds.toPublic(info.connId),
|
|
92
|
+
...(info.remoteAddr !== undefined && {
|
|
93
|
+
remoteAddr: info.remoteAddr
|
|
94
|
+
}),
|
|
95
|
+
...(info.readyProtocols !== undefined && {
|
|
96
|
+
readyProtocols: info.readyProtocols
|
|
97
|
+
})
|
|
96
98
|
};
|
|
97
99
|
}
|
|
98
100
|
circuitAddress(relayAddress, peerId) {
|
|
@@ -135,24 +137,24 @@ class ReactNativeBackend {
|
|
|
135
137
|
streamId: u64ToNumber(result.streamId, "streamId")
|
|
136
138
|
};
|
|
137
139
|
}
|
|
138
|
-
sendStream(peerId, streamId, data) {
|
|
140
|
+
sendStream(peerId, connId, streamId, data) {
|
|
139
141
|
translateErrors(() => {
|
|
140
|
-
this.#endpoint.sendStream(peerId, numberToU64(streamId, "streamId"), toArrayBuffer(data));
|
|
142
|
+
this.#endpoint.sendStream(peerId, this.#connectionIds.toNative(connId), numberToU64(streamId, "streamId"), toArrayBuffer(data));
|
|
141
143
|
});
|
|
142
144
|
}
|
|
143
|
-
closeStreamWrite(peerId, streamId) {
|
|
145
|
+
closeStreamWrite(peerId, connId, streamId) {
|
|
144
146
|
translateErrors(() => {
|
|
145
|
-
this.#endpoint.closeStreamWrite(peerId, numberToU64(streamId, "streamId"));
|
|
147
|
+
this.#endpoint.closeStreamWrite(peerId, this.#connectionIds.toNative(connId), numberToU64(streamId, "streamId"));
|
|
146
148
|
});
|
|
147
149
|
}
|
|
148
|
-
resetStream(peerId, streamId) {
|
|
150
|
+
resetStream(peerId, connId, streamId) {
|
|
149
151
|
translateErrors(() => {
|
|
150
|
-
this.#endpoint.resetStream(peerId, numberToU64(streamId, "streamId"));
|
|
152
|
+
this.#endpoint.resetStream(peerId, this.#connectionIds.toNative(connId), numberToU64(streamId, "streamId"));
|
|
151
153
|
});
|
|
152
154
|
}
|
|
153
|
-
abandonStream(peerId, streamId) {
|
|
155
|
+
abandonStream(peerId, connId, streamId) {
|
|
154
156
|
translateErrors(() => {
|
|
155
|
-
this.#endpoint.abandonStream(peerId, numberToU64(streamId, "streamId"));
|
|
157
|
+
this.#endpoint.abandonStream(peerId, this.#connectionIds.toNative(connId), numberToU64(streamId, "streamId"));
|
|
156
158
|
});
|
|
157
159
|
}
|
|
158
160
|
connect(target) {
|
|
@@ -214,12 +216,13 @@ export function circuitAddress(relayAddress, peerId) {
|
|
|
214
216
|
* Native connection IDs span the full `u64` range, so they cannot round-trip
|
|
215
217
|
* through a JavaScript `number`. Each endpoint owns one map so a native ID
|
|
216
218
|
* resolves to the same public ID in events and synchronous results. An entry
|
|
217
|
-
* is released once its `ConnectionClosed
|
|
218
|
-
* the map by live connections. Public
|
|
219
|
-
* repeats, so an event arriving after
|
|
220
|
-
*
|
|
221
|
-
*
|
|
222
|
-
*
|
|
219
|
+
* is released once its `ConnectionClosed`, or the `ConnectionReplaced` that
|
|
220
|
+
* retires it, is normalized, which bounds the map by live connections. Public
|
|
221
|
+
* numbers come from a counter that never repeats, so an event arriving after
|
|
222
|
+
* the release gets a fresh number instead of aliasing a live connection.
|
|
223
|
+
* Stream operations map the public ID back to native. Stream and
|
|
224
|
+
* connect-attempt IDs are not mapped because native allocates them well
|
|
225
|
+
* inside the safe integer range.
|
|
223
226
|
*/
|
|
224
227
|
class ConnectionIdMap {
|
|
225
228
|
#publicByNative = new Map();
|
|
@@ -236,6 +239,20 @@ class ConnectionIdMap {
|
|
|
236
239
|
this.#nativeByPublic.set(publicId, native);
|
|
237
240
|
return publicId;
|
|
238
241
|
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* The native ID behind a public one. Stream operations pass it back so
|
|
245
|
+
* native rejects a stream whose connection it already replaced. A released
|
|
246
|
+
* connection throws `StreamClosedError`: its stream operation can run after
|
|
247
|
+
* the release but before the SDK dispatches the ending event.
|
|
248
|
+
*/
|
|
249
|
+
toNative(publicId) {
|
|
250
|
+
const native = this.#nativeByPublic.get(publicId);
|
|
251
|
+
if (native === undefined) {
|
|
252
|
+
throw new StreamClosedError("The stream's connection ended");
|
|
253
|
+
}
|
|
254
|
+
return native;
|
|
255
|
+
}
|
|
239
256
|
release(publicId) {
|
|
240
257
|
const native = this.#nativeByPublic.get(publicId);
|
|
241
258
|
if (native !== undefined) {
|
|
@@ -251,6 +268,8 @@ function normalizeEvent(event, connectionIds) {
|
|
|
251
268
|
}, connectionIds);
|
|
252
269
|
if (normalized.tag === P2pEvent_Tags.ConnectionClosed) {
|
|
253
270
|
connectionIds.release(normalized.inner.connId);
|
|
271
|
+
} else if (normalized.tag === P2pEvent_Tags.ConnectionReplaced) {
|
|
272
|
+
connectionIds.release(normalized.inner.oldConnId);
|
|
254
273
|
}
|
|
255
274
|
return normalized;
|
|
256
275
|
}
|
|
@@ -264,14 +283,17 @@ function normalizeReservation(reservation) {
|
|
|
264
283
|
return normalizeBigInts(reservation);
|
|
265
284
|
}
|
|
266
285
|
|
|
286
|
+
/** Event fields carrying a native connection ID. */
|
|
287
|
+
const CONNECTION_ID_KEYS = new Set(["connId", "oldConnId", "newConnId"]);
|
|
288
|
+
|
|
267
289
|
/**
|
|
268
|
-
* Converts native `bigint` fields to numbers.
|
|
269
|
-
* endpoint's connection map when one is supplied; every other `u64` keeps
|
|
270
|
-
* checked conversion.
|
|
290
|
+
* Converts native `bigint` fields to numbers. Connection ID fields go through
|
|
291
|
+
* the endpoint's connection map when one is supplied; every other `u64` keeps
|
|
292
|
+
* the checked conversion.
|
|
271
293
|
*/
|
|
272
294
|
function normalizeBigInts(value, connectionIds, key) {
|
|
273
295
|
if (typeof value === "bigint") {
|
|
274
|
-
return key
|
|
296
|
+
return key !== undefined && CONNECTION_ID_KEYS.has(key) && connectionIds !== undefined ? connectionIds.toPublic(value) : u64ToNumber(value, "native u64");
|
|
275
297
|
}
|
|
276
298
|
if (value instanceof ArrayBuffer) {
|
|
277
299
|
return value;
|
|
@@ -310,29 +332,11 @@ function translateErrors(operation) {
|
|
|
310
332
|
try {
|
|
311
333
|
return operation();
|
|
312
334
|
} catch (error) {
|
|
313
|
-
|
|
314
|
-
switch (tag) {
|
|
315
|
-
case FfiError_Tags.Backpressure:
|
|
316
|
-
{
|
|
317
|
-
throw new BackpressureError();
|
|
318
|
-
}
|
|
319
|
-
case FfiError_Tags.MessageTooLarge:
|
|
320
|
-
{
|
|
321
|
-
throw new MessageTooLargeError();
|
|
322
|
-
}
|
|
323
|
-
case FfiError_Tags.NotPermitted:
|
|
324
|
-
{
|
|
325
|
-
throw new NotPermittedError(getErrorDetail(error));
|
|
326
|
-
}
|
|
327
|
-
default:
|
|
328
|
-
{
|
|
329
|
-
throw error;
|
|
330
|
-
}
|
|
331
|
-
}
|
|
335
|
+
throw typedFfiError(getErrorTag(error), getErrorDetail(error)) ?? error;
|
|
332
336
|
}
|
|
333
337
|
}
|
|
334
338
|
function getErrorTag(error) {
|
|
335
|
-
return typeof error === "object" && error !== null && "tag" in error ? error.tag : undefined;
|
|
339
|
+
return typeof error === "object" && error !== null && "tag" in error && typeof error.tag === "string" ? error.tag : undefined;
|
|
336
340
|
}
|
|
337
341
|
function getErrorDetail(error) {
|
|
338
342
|
if (typeof error === "object" && error !== null && "inner" in error && typeof error.inner === "object" && error.inner !== null && "detail" in error.inner && typeof error.inner.detail === "string") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BackpressureError","MessageTooLargeError","Minip2pBase","NotPermittedError","P2pEvent_Tags","resolveEndpointConfig","EventDrain","ConnectTarget","FfiError_Tags","P2pEndpoint","circuitAddress","nativeCircuitAddress","generateSecretKey","nativeGenerateSecretKey","peerIdFromSecretKey","nativePeerIdFromSecretKey","nativeModule","ReactNativeBackend","endpoint","mdnsEnabled","connectionIds","ConnectionIdMap","doorbell","events","constructor","config","mdns","undefined","setMdnsEnabled","translateErrors","toArrayBuffer","secretKey","error","start","listener","limit","drainEvents","event","normalizeEvent","onEventsReady","ring","close","stop","uniffiDestroy","peerId","listenAddrs","connectedPeers","isPeerReady","peerInfo","info","normalizeIdentifyInfo","knownPeers","map","normalizeKnownPeer","discoveryNowMs","now","u64ToNumber","activeReservation","reservation","normalizeReservation","path","normalizeBigInts","connectionInfo","connId","toPublic","remoteAddr","relayAddress","reachability","isRunning","setActive","active","subscribe","topic","unsubscribe","publish","data","ping","addProtocol","protocolId","openStream","result","streamId","sendStream","numberToU64","closeStreamWrite","resetStream","abandonStream","connect","target","native","kind","Peer","Addresses","addresses","cancelConnect","id","disconnect","backendFactory","create","Uint8Array","Minip2p","backend","relays","publicByNative","Map","nativeByPublic","next","existing","get","publicId","set","release","delete","normalized","inner","tag","ConnectionClosed","peer","value","key","ArrayBuffer","Array","isArray","item","Object","fromEntries","entries","itemKey","from","buffer","name","assertSafeUnsignedInteger","BigInt","number","Number","isSafeInteger","RangeError","operation","getErrorTag","Backpressure","MessageTooLarge","NotPermitted","getErrorDetail","detail"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["Minip2pBase","StreamClosedError","P2pEvent_Tags","resolveEndpointConfig","typedFfiError","EventDrain","ConnectTarget","P2pEndpoint","circuitAddress","nativeCircuitAddress","generateSecretKey","nativeGenerateSecretKey","peerIdFromSecretKey","nativePeerIdFromSecretKey","nativeModule","ReactNativeBackend","endpoint","mdnsEnabled","connectionIds","ConnectionIdMap","doorbell","events","constructor","config","mdns","undefined","setMdnsEnabled","translateErrors","toArrayBuffer","secretKey","error","start","listener","limit","drainEvents","event","normalizeEvent","onEventsReady","ring","close","stop","uniffiDestroy","peerId","listenAddrs","connectedPeers","isPeerReady","peerInfo","info","normalizeIdentifyInfo","knownPeers","map","normalizeKnownPeer","discoveryNowMs","now","u64ToNumber","activeReservation","reservation","normalizeReservation","path","normalizeBigInts","connectionInfo","connId","toPublic","remoteAddr","readyProtocols","relayAddress","reachability","isRunning","setActive","active","subscribe","topic","unsubscribe","publish","data","ping","addProtocol","protocolId","openStream","result","streamId","sendStream","toNative","numberToU64","closeStreamWrite","resetStream","abandonStream","connect","target","native","kind","Peer","Addresses","addresses","cancelConnect","id","disconnect","backendFactory","create","Uint8Array","Minip2p","backend","relays","publicByNative","Map","nativeByPublic","next","existing","get","publicId","set","release","delete","normalized","inner","tag","ConnectionClosed","ConnectionReplaced","oldConnId","peer","CONNECTION_ID_KEYS","Set","value","key","has","ArrayBuffer","Array","isArray","item","Object","fromEntries","entries","itemKey","from","buffer","name","assertSafeUnsignedInteger","BigInt","number","Number","isSafeInteger","RangeError","operation","getErrorTag","getErrorDetail","detail"],"sourceRoot":"../../src","sources":["adapter.ts"],"mappings":"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","ignoreList":[]}
|