Page MenuHomePhorge

D6690.1765129444.diff
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

D6690.1765129444.diff

diff --git a/keyserver/addons/rust-node-addon/index.js b/keyserver/addons/rust-node-addon/index.js
--- a/keyserver/addons/rust-node-addon/index.js
+++ b/keyserver/addons/rust-node-addon/index.js
@@ -34,8 +34,42 @@
throw new Error('Failed to load native binding');
}
- const { registerUser } = nativeBinding.default;
+ const { registerUser } = nativeBinding.registerUser;
return { registerUser };
}
-export { getIdentityRustAPI };
+interface TunnelbrokerClientClass {
+ new(
+ onReceiveCallback: (err: Error | null, value: string) => any,
+ ): TunnelbrokerClientClass;
+ publish(toDeviceId: string, payload: string): Promise<void>;
+}
+
+async function getTunnelbrokerRustClient(): Promise<TunnelbrokerClientClass> {
+ let nativeBinding = null;
+ if (platform === 'darwin' && arch === 'x64') {
+ // $FlowFixMe
+ nativeBinding = await import('./naupi/rust-node-addon.darwin-x64.node');
+ } else if (platform === 'darwin' && arch === 'arm64') {
+ // $FlowFixMe
+ nativeBinding = await import('./napi/rust-node-addon.darwin-arm64.node');
+ } else if (platform === 'linux' && arch === 'x64') {
+ // $FlowFixMe
+ nativeBinding = await import('./napi/rust-node-addon.linux-x64-gnu.node');
+ } else if (platform === 'linux' && arch === 'arm64') {
+ // $FlowFixMe
+ nativeBinding = await import('./napi/rust-node-addon.linux-arm64-gnu.node');
+ } else {
+ throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`);
+ }
+
+ if (!nativeBinding) {
+ throw new Error('Failed to load native binding');
+ }
+
+ const { TunnelbrokerClient } = nativeBinding.TunnelbrokerClient;
+ // $FlowFixMe
+ return { TunnelbrokerClient };
+}
+
+export { getIdentityRustAPI, getTunnelbrokerRustClient };

File Metadata

Mime Type
text/plain
Expires
Sun, Dec 7, 5:44 PM (19 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5845291
Default Alt Text
D6690.1765129444.diff (1 KB)

Event Timeline