@dxos/rpc 0.8.4-staging.ac66bdf99f → 0.9.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.
- package/LICENSE +102 -5
- package/dist/lib/neutral/index.mjs +50 -288
- package/dist/lib/neutral/index.mjs.map +3 -3
- package/dist/lib/neutral/meta.json +1 -1
- package/dist/types/src/errors.d.ts.map +1 -1
- package/dist/types/src/rpc.d.ts +0 -3
- package/dist/types/src/rpc.d.ts.map +1 -1
- package/dist/types/src/service.d.ts +2 -2
- package/dist/types/src/service.d.ts.map +1 -1
- package/dist/types/src/testing.d.ts.map +1 -1
- package/dist/types/src/trace.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -14
- package/src/rpc.ts +8 -8
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/rpc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "A lightweight, transport-agnostic RPC implementation",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "git",
|
|
9
9
|
"url": "https://github.com/dxos/dxos"
|
|
10
10
|
},
|
|
11
|
-
"license": "
|
|
11
|
+
"license": "FSL-1.1-Apache-2.0",
|
|
12
12
|
"author": "DXOS.org",
|
|
13
13
|
"sideEffects": false,
|
|
14
14
|
"type": "module",
|
|
@@ -20,23 +20,20 @@
|
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
"types": "dist/types/src/index.d.ts",
|
|
23
|
-
"typesVersions": {
|
|
24
|
-
"*": {}
|
|
25
|
-
},
|
|
26
23
|
"files": [
|
|
27
24
|
"dist",
|
|
28
25
|
"src"
|
|
29
26
|
],
|
|
30
27
|
"dependencies": {
|
|
31
|
-
"@dxos/async": "0.
|
|
32
|
-
"@dxos/
|
|
33
|
-
"@dxos/
|
|
34
|
-
"@dxos/
|
|
35
|
-
"@dxos/log": "0.
|
|
36
|
-
"@dxos/
|
|
37
|
-
"@dxos/
|
|
38
|
-
"@dxos/protocols": "0.
|
|
39
|
-
"@dxos/util": "0.
|
|
28
|
+
"@dxos/async": "0.9.0",
|
|
29
|
+
"@dxos/debug": "0.9.0",
|
|
30
|
+
"@dxos/codec-protobuf": "0.9.0",
|
|
31
|
+
"@dxos/context": "0.9.0",
|
|
32
|
+
"@dxos/log": "0.9.0",
|
|
33
|
+
"@dxos/node-std": "0.9.0",
|
|
34
|
+
"@dxos/invariant": "0.9.0",
|
|
35
|
+
"@dxos/protocols": "0.9.0",
|
|
36
|
+
"@dxos/util": "0.9.0"
|
|
40
37
|
},
|
|
41
38
|
"publishConfig": {
|
|
42
39
|
"access": "public"
|
package/src/rpc.ts
CHANGED
|
@@ -261,7 +261,7 @@ export class RpcPeer {
|
|
|
261
261
|
*/
|
|
262
262
|
private async _receive(msg: Uint8Array): Promise<void> {
|
|
263
263
|
const decoded = getRpcMessageCodec().decode(msg, { preserveAny: true });
|
|
264
|
-
DEBUG_CALLS && log('received message', { type: Object.keys(decoded)[0] });
|
|
264
|
+
DEBUG_CALLS && log.trace('received message', { type: Object.keys(decoded)[0] });
|
|
265
265
|
|
|
266
266
|
if (decoded.request) {
|
|
267
267
|
if (this._state !== RpcState.OPENED && this._state !== RpcState.OPENING) {
|
|
@@ -279,7 +279,7 @@ export class RpcPeer {
|
|
|
279
279
|
if (req.stream) {
|
|
280
280
|
log('stream request', { method: req.method });
|
|
281
281
|
this._callStreamHandler(req, (response) => {
|
|
282
|
-
log('sending stream response', {
|
|
282
|
+
log.trace('sending stream response', {
|
|
283
283
|
method: req.method,
|
|
284
284
|
response: response.payload?.type_url,
|
|
285
285
|
error: response.error,
|
|
@@ -291,10 +291,10 @@ export class RpcPeer {
|
|
|
291
291
|
});
|
|
292
292
|
});
|
|
293
293
|
} else {
|
|
294
|
-
DEBUG_CALLS && log('requesting...', { method: req.method });
|
|
294
|
+
DEBUG_CALLS && log.trace('requesting...', { method: req.method });
|
|
295
295
|
const response = await this._callHandler(req);
|
|
296
296
|
DEBUG_CALLS &&
|
|
297
|
-
log('sending response', {
|
|
297
|
+
log.trace('sending response', {
|
|
298
298
|
method: req.method,
|
|
299
299
|
response: response.payload?.type_url,
|
|
300
300
|
error: response.error,
|
|
@@ -310,7 +310,7 @@ export class RpcPeer {
|
|
|
310
310
|
const responseId = decoded.response.id;
|
|
311
311
|
invariant(typeof responseId === 'number');
|
|
312
312
|
if (!this._outgoingRequests.has(responseId)) {
|
|
313
|
-
log('received response with invalid id', { responseId });
|
|
313
|
+
log.trace('received response with invalid id', { responseId });
|
|
314
314
|
return; // Ignore requests with incorrect id.
|
|
315
315
|
}
|
|
316
316
|
|
|
@@ -320,7 +320,7 @@ export class RpcPeer {
|
|
|
320
320
|
this._outgoingRequests.delete(responseId);
|
|
321
321
|
}
|
|
322
322
|
|
|
323
|
-
DEBUG_CALLS && log('response', { type_url: decoded.response.payload?.type_url });
|
|
323
|
+
DEBUG_CALLS && log.trace('response', { type_url: decoded.response.payload?.type_url });
|
|
324
324
|
item.resolve(decoded.response);
|
|
325
325
|
} else if (decoded.open) {
|
|
326
326
|
log('received open message', { state: this._state });
|
|
@@ -375,7 +375,7 @@ export class RpcPeer {
|
|
|
375
375
|
* Peer should be open before making this call.
|
|
376
376
|
*/
|
|
377
377
|
async call(method: string, request: Any, options?: RequestOptions): Promise<Any> {
|
|
378
|
-
DEBUG_CALLS && log('calling...', { method });
|
|
378
|
+
DEBUG_CALLS && log.trace('calling...', { method });
|
|
379
379
|
throwIfNotOpen(this._state);
|
|
380
380
|
|
|
381
381
|
let response: Response;
|
|
@@ -506,7 +506,7 @@ export class RpcPeer {
|
|
|
506
506
|
}
|
|
507
507
|
|
|
508
508
|
private async _sendMessage(message: RpcMessage, timeout?: number): Promise<void> {
|
|
509
|
-
DEBUG_CALLS && log('sending message', { type: Object.keys(message)[0] });
|
|
509
|
+
DEBUG_CALLS && log.trace('sending message', { type: Object.keys(message)[0] });
|
|
510
510
|
await this._params.port.send(getRpcMessageCodec().encode(message, { preserveAny: true }), timeout);
|
|
511
511
|
}
|
|
512
512
|
|