@libp2p/webrtc 4.1.10 → 5.0.0-7cd984569
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 +4 -4
- package/dist/index.min.js +5 -6
- package/dist/src/error.d.ts +5 -25
- package/dist/src/error.d.ts.map +1 -1
- package/dist/src/error.js +18 -54
- package/dist/src/error.js.map +1 -1
- package/dist/src/index.d.ts +4 -4
- package/dist/src/index.js +4 -4
- package/dist/src/pb/message.d.ts +2 -2
- package/dist/src/pb/message.d.ts.map +1 -1
- package/dist/src/pb/message.js +10 -7
- package/dist/src/pb/message.js.map +1 -1
- package/dist/src/private-to-private/initiate-connection.d.ts.map +1 -1
- package/dist/src/private-to-private/initiate-connection.js +10 -8
- package/dist/src/private-to-private/initiate-connection.js.map +1 -1
- package/dist/src/private-to-private/pb/message.d.ts +2 -2
- package/dist/src/private-to-private/pb/message.d.ts.map +1 -1
- package/dist/src/private-to-private/pb/message.js +10 -7
- package/dist/src/private-to-private/pb/message.js.map +1 -1
- package/dist/src/private-to-private/signaling-stream-handler.d.ts.map +1 -1
- package/dist/src/private-to-private/signaling-stream-handler.js +9 -8
- package/dist/src/private-to-private/signaling-stream-handler.js.map +1 -1
- package/dist/src/private-to-private/transport.d.ts.map +1 -1
- package/dist/src/private-to-private/transport.js +6 -7
- package/dist/src/private-to-private/transport.js.map +1 -1
- package/dist/src/private-to-private/util.d.ts +1 -0
- package/dist/src/private-to-private/util.d.ts.map +1 -1
- package/dist/src/private-to-private/util.js +5 -5
- package/dist/src/private-to-private/util.js.map +1 -1
- package/dist/src/private-to-public/sdp.d.ts.map +1 -1
- package/dist/src/private-to-public/sdp.js +7 -6
- package/dist/src/private-to-public/sdp.js.map +1 -1
- package/dist/src/private-to-public/transport.d.ts +2 -1
- package/dist/src/private-to-public/transport.d.ts.map +1 -1
- package/dist/src/private-to-public/transport.js +12 -10
- package/dist/src/private-to-public/transport.js.map +1 -1
- package/dist/src/stream.js +6 -6
- package/dist/src/stream.js.map +1 -1
- package/package.json +15 -15
- package/src/error.ts +18 -64
- package/src/index.ts +4 -4
- package/src/pb/message.ts +10 -8
- package/src/private-to-private/initiate-connection.ts +11 -8
- package/src/private-to-private/pb/message.ts +10 -8
- package/src/private-to-private/signaling-stream-handler.ts +10 -8
- package/src/private-to-private/transport.ts +6 -7
- package/src/private-to-private/util.ts +5 -5
- package/src/private-to-public/sdp.ts +7 -6
- package/src/private-to-public/transport.ts +14 -12
- package/src/stream.ts +6 -6
- package/dist/typedoc-urls.json +0 -8
package/dist/src/error.d.ts
CHANGED
|
@@ -1,54 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
ERR_CONNECTION_CLOSED = "ERR_CONNECTION_CLOSED",
|
|
7
|
-
ERR_HASH_NOT_SUPPORTED = "ERR_HASH_NOT_SUPPORTED",
|
|
8
|
-
ERR_INVALID_MULTIADDR = "ERR_INVALID_MULTIADDR",
|
|
9
|
-
ERR_INVALID_FINGERPRINT = "ERR_INVALID_FINGERPRINT",
|
|
10
|
-
ERR_INVALID_PARAMETERS = "ERR_INVALID_PARAMETERS",
|
|
11
|
-
ERR_NOT_IMPLEMENTED = "ERR_NOT_IMPLEMENTED",
|
|
12
|
-
ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS = "ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",
|
|
13
|
-
ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS = "ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS"
|
|
14
|
-
}
|
|
15
|
-
export declare class WebRTCTransportError extends CodeError {
|
|
16
|
-
constructor(msg: string, code?: string);
|
|
1
|
+
export declare class WebRTCTransportError extends Error {
|
|
2
|
+
constructor(msg: string);
|
|
3
|
+
}
|
|
4
|
+
export declare class SDPHandshakeFailedError extends WebRTCTransportError {
|
|
5
|
+
constructor(message?: string);
|
|
17
6
|
}
|
|
18
7
|
export declare class ConnectionClosedError extends WebRTCTransportError {
|
|
19
8
|
constructor(state: RTCPeerConnectionState, msg: string);
|
|
20
9
|
}
|
|
21
|
-
export declare function connectionClosedError(state: RTCPeerConnectionState, msg: string): ConnectionClosedError;
|
|
22
10
|
export declare class DataChannelError extends WebRTCTransportError {
|
|
23
11
|
constructor(streamLabel: string, msg: string);
|
|
24
12
|
}
|
|
25
|
-
export declare function dataChannelError(streamLabel: string, msg: string): DataChannelError;
|
|
26
13
|
export declare class InappropriateMultiaddrError extends WebRTCTransportError {
|
|
27
14
|
constructor(msg: string);
|
|
28
15
|
}
|
|
29
|
-
export declare function inappropriateMultiaddr(msg: string): InappropriateMultiaddrError;
|
|
30
16
|
export declare class InvalidArgumentError extends WebRTCTransportError {
|
|
31
17
|
constructor(msg: string);
|
|
32
18
|
}
|
|
33
|
-
export declare function invalidArgument(msg: string): InvalidArgumentError;
|
|
34
19
|
export declare class InvalidFingerprintError extends WebRTCTransportError {
|
|
35
20
|
constructor(fingerprint: string, source: string);
|
|
36
21
|
}
|
|
37
|
-
export declare function invalidFingerprint(fingerprint: string, source: string): InvalidFingerprintError;
|
|
38
22
|
export declare class OperationAbortedError extends WebRTCTransportError {
|
|
39
23
|
constructor(context: string, abortReason: string);
|
|
40
24
|
}
|
|
41
|
-
export declare function operationAborted(context: string, reason: string): OperationAbortedError;
|
|
42
25
|
export declare class OverStreamLimitError extends WebRTCTransportError {
|
|
43
26
|
constructor(msg: string);
|
|
44
27
|
}
|
|
45
|
-
export declare function overStreamLimit(dir: Direction, proto: string): OverStreamLimitError;
|
|
46
28
|
export declare class UnimplementedError extends WebRTCTransportError {
|
|
47
29
|
constructor(methodName: string);
|
|
48
30
|
}
|
|
49
|
-
export declare function unimplemented(methodName: string): UnimplementedError;
|
|
50
31
|
export declare class UnsupportedHashAlgorithmError extends WebRTCTransportError {
|
|
51
32
|
constructor(algo: number);
|
|
52
33
|
}
|
|
53
|
-
export declare function unsupportedHashAlgorithmCode(code: number): UnsupportedHashAlgorithmError;
|
|
54
34
|
//# sourceMappingURL=error.d.ts.map
|
package/dist/src/error.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAqB,SAAQ,KAAK;gBAChC,GAAG,EAAE,MAAM;CAIzB;AAED,qBAAa,uBAAwB,SAAQ,oBAAoB;gBAClD,OAAO,SAAyB;CAI9C;AAED,qBAAa,qBAAsB,SAAQ,oBAAoB;gBAChD,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM;CAIxD;AAED,qBAAa,gBAAiB,SAAQ,oBAAoB;gBAC3C,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAI9C;AAED,qBAAa,2BAA4B,SAAQ,oBAAoB;gBACtD,GAAG,EAAE,MAAM;CAIzB;AAED,qBAAa,oBAAqB,SAAQ,oBAAoB;gBAC/C,GAAG,EAAE,MAAM;CAIzB;AAED,qBAAa,uBAAwB,SAAQ,oBAAoB;gBAClD,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAIjD;AAED,qBAAa,qBAAsB,SAAQ,oBAAoB;gBAChD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAIlD;AAED,qBAAa,oBAAqB,SAAQ,oBAAoB;gBAC/C,GAAG,EAAE,MAAM;CAIzB;AAED,qBAAa,kBAAmB,SAAQ,oBAAoB;gBAC7C,UAAU,EAAE,MAAM;CAIhC;AAED,qBAAa,6BAA8B,SAAQ,oBAAoB;gBACxD,IAAI,EAAE,MAAM;CAI1B"}
|
package/dist/src/error.js
CHANGED
|
@@ -1,103 +1,67 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
(
|
|
4
|
-
codes["ERR_ALREADY_ABORTED"] = "ERR_ALREADY_ABORTED";
|
|
5
|
-
codes["ERR_DATA_CHANNEL"] = "ERR_DATA_CHANNEL";
|
|
6
|
-
codes["ERR_CONNECTION_CLOSED"] = "ERR_CONNECTION_CLOSED";
|
|
7
|
-
codes["ERR_HASH_NOT_SUPPORTED"] = "ERR_HASH_NOT_SUPPORTED";
|
|
8
|
-
codes["ERR_INVALID_MULTIADDR"] = "ERR_INVALID_MULTIADDR";
|
|
9
|
-
codes["ERR_INVALID_FINGERPRINT"] = "ERR_INVALID_FINGERPRINT";
|
|
10
|
-
codes["ERR_INVALID_PARAMETERS"] = "ERR_INVALID_PARAMETERS";
|
|
11
|
-
codes["ERR_NOT_IMPLEMENTED"] = "ERR_NOT_IMPLEMENTED";
|
|
12
|
-
codes["ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS"] = "ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS";
|
|
13
|
-
codes["ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS"] = "ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS";
|
|
14
|
-
})(codes || (codes = {}));
|
|
15
|
-
export class WebRTCTransportError extends CodeError {
|
|
16
|
-
constructor(msg, code) {
|
|
17
|
-
super(`WebRTC transport error: ${msg}`, code ?? '');
|
|
1
|
+
export class WebRTCTransportError extends Error {
|
|
2
|
+
constructor(msg) {
|
|
3
|
+
super(`WebRTC transport error: ${msg}`);
|
|
18
4
|
this.name = 'WebRTCTransportError';
|
|
19
5
|
}
|
|
20
6
|
}
|
|
7
|
+
export class SDPHandshakeFailedError extends WebRTCTransportError {
|
|
8
|
+
constructor(message = 'SDP handshake failed') {
|
|
9
|
+
super(message);
|
|
10
|
+
this.name = 'SDPHandshakeFailedError';
|
|
11
|
+
}
|
|
12
|
+
}
|
|
21
13
|
export class ConnectionClosedError extends WebRTCTransportError {
|
|
22
14
|
constructor(state, msg) {
|
|
23
|
-
super(`peerconnection moved to state: ${state}: ${msg}
|
|
15
|
+
super(`peerconnection moved to state: ${state}: ${msg}`);
|
|
24
16
|
this.name = 'WebRTC/ConnectionClosed';
|
|
25
17
|
}
|
|
26
18
|
}
|
|
27
|
-
export function connectionClosedError(state, msg) {
|
|
28
|
-
return new ConnectionClosedError(state, msg);
|
|
29
|
-
}
|
|
30
19
|
export class DataChannelError extends WebRTCTransportError {
|
|
31
20
|
constructor(streamLabel, msg) {
|
|
32
|
-
super(`[stream: ${streamLabel}] data channel error: ${msg}
|
|
21
|
+
super(`[stream: ${streamLabel}] data channel error: ${msg}`);
|
|
33
22
|
this.name = 'WebRTC/DataChannelError';
|
|
34
23
|
}
|
|
35
24
|
}
|
|
36
|
-
export function dataChannelError(streamLabel, msg) {
|
|
37
|
-
return new DataChannelError(streamLabel, msg);
|
|
38
|
-
}
|
|
39
25
|
export class InappropriateMultiaddrError extends WebRTCTransportError {
|
|
40
26
|
constructor(msg) {
|
|
41
|
-
super(`There was a problem with the Multiaddr which was passed in: ${msg}
|
|
27
|
+
super(`There was a problem with the Multiaddr which was passed in: ${msg}`);
|
|
42
28
|
this.name = 'WebRTC/InappropriateMultiaddrError';
|
|
43
29
|
}
|
|
44
30
|
}
|
|
45
|
-
export function inappropriateMultiaddr(msg) {
|
|
46
|
-
return new InappropriateMultiaddrError(msg);
|
|
47
|
-
}
|
|
48
31
|
export class InvalidArgumentError extends WebRTCTransportError {
|
|
49
32
|
constructor(msg) {
|
|
50
|
-
super(`There was a problem with a provided argument: ${msg}
|
|
33
|
+
super(`There was a problem with a provided argument: ${msg}`);
|
|
51
34
|
this.name = 'WebRTC/InvalidArgumentError';
|
|
52
35
|
}
|
|
53
36
|
}
|
|
54
|
-
export function invalidArgument(msg) {
|
|
55
|
-
return new InvalidArgumentError(msg);
|
|
56
|
-
}
|
|
57
37
|
export class InvalidFingerprintError extends WebRTCTransportError {
|
|
58
38
|
constructor(fingerprint, source) {
|
|
59
|
-
super(`Invalid fingerprint "${fingerprint}" within ${source}
|
|
39
|
+
super(`Invalid fingerprint "${fingerprint}" within ${source}`);
|
|
60
40
|
this.name = 'WebRTC/InvalidFingerprintError';
|
|
61
41
|
}
|
|
62
42
|
}
|
|
63
|
-
export function invalidFingerprint(fingerprint, source) {
|
|
64
|
-
return new InvalidFingerprintError(fingerprint, source);
|
|
65
|
-
}
|
|
66
43
|
export class OperationAbortedError extends WebRTCTransportError {
|
|
67
44
|
constructor(context, abortReason) {
|
|
68
|
-
super(`Signalled to abort because (${abortReason}}) ${context}
|
|
45
|
+
super(`Signalled to abort because (${abortReason}}) ${context}`);
|
|
69
46
|
this.name = 'WebRTC/OperationAbortedError';
|
|
70
47
|
}
|
|
71
48
|
}
|
|
72
|
-
export function operationAborted(context, reason) {
|
|
73
|
-
return new OperationAbortedError(context, reason);
|
|
74
|
-
}
|
|
75
49
|
export class OverStreamLimitError extends WebRTCTransportError {
|
|
76
50
|
constructor(msg) {
|
|
77
|
-
|
|
78
|
-
super(msg, code);
|
|
51
|
+
super(msg);
|
|
79
52
|
this.name = 'WebRTC/OverStreamLimitError';
|
|
80
53
|
}
|
|
81
54
|
}
|
|
82
|
-
export function overStreamLimit(dir, proto) {
|
|
83
|
-
return new OverStreamLimitError(`${dir} stream limit reached for protocol - ${proto}`);
|
|
84
|
-
}
|
|
85
55
|
export class UnimplementedError extends WebRTCTransportError {
|
|
86
56
|
constructor(methodName) {
|
|
87
|
-
super(`A method (${methodName}) was called though it has been intentionally left unimplemented
|
|
57
|
+
super(`A method (${methodName}) was called though it has been intentionally left unimplemented.`);
|
|
88
58
|
this.name = 'WebRTC/UnimplementedError';
|
|
89
59
|
}
|
|
90
60
|
}
|
|
91
|
-
export function unimplemented(methodName) {
|
|
92
|
-
return new UnimplementedError(methodName);
|
|
93
|
-
}
|
|
94
61
|
export class UnsupportedHashAlgorithmError extends WebRTCTransportError {
|
|
95
62
|
constructor(algo) {
|
|
96
|
-
super(`unsupported hash algorithm code: ${algo} please see the codes at https://github.com/multiformats/multicodec/blob/master/table.csv
|
|
63
|
+
super(`unsupported hash algorithm code: ${algo} please see the codes at https://github.com/multiformats/multicodec/blob/master/table.csv `);
|
|
97
64
|
this.name = 'WebRTC/UnsupportedHashAlgorithmError';
|
|
98
65
|
}
|
|
99
66
|
}
|
|
100
|
-
export function unsupportedHashAlgorithmCode(code) {
|
|
101
|
-
return new UnsupportedHashAlgorithmError(code);
|
|
102
|
-
}
|
|
103
67
|
//# sourceMappingURL=error.js.map
|
package/dist/src/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAa,GAAW;QACtB,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAA;QACvC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;IACpC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,oBAAoB;IAC/D,YAAa,OAAO,GAAG,sBAAsB;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IACvC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,oBAAoB;IAC7D,YAAa,KAA6B,EAAE,GAAW;QACrD,KAAK,CAAC,kCAAkC,KAAK,KAAK,GAAG,EAAE,CAAC,CAAA;QACxD,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IACvC,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,oBAAoB;IACxD,YAAa,WAAmB,EAAE,GAAW;QAC3C,KAAK,CAAC,YAAY,WAAW,yBAAyB,GAAG,EAAE,CAAC,CAAA;QAC5D,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IACvC,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,oBAAoB;IACnE,YAAa,GAAW;QACtB,KAAK,CAAC,+DAA+D,GAAG,EAAE,CAAC,CAAA;QAC3E,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAA;IAClD,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,oBAAoB;IAC5D,YAAa,GAAW;QACtB,KAAK,CAAC,iDAAiD,GAAG,EAAE,CAAC,CAAA;QAC7D,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAA;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,oBAAoB;IAC/D,YAAa,WAAmB,EAAE,MAAc;QAC9C,KAAK,CAAC,wBAAwB,WAAW,YAAY,MAAM,EAAE,CAAC,CAAA;QAC9D,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAA;IAC9C,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,oBAAoB;IAC7D,YAAa,OAAe,EAAE,WAAmB;QAC/C,KAAK,CAAC,+BAA+B,WAAW,MAAM,OAAO,EAAE,CAAC,CAAA;QAChE,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAA;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,oBAAqB,SAAQ,oBAAoB;IAC5D,YAAa,GAAW;QACtB,KAAK,CAAC,GAAG,CAAC,CAAA;QACV,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAA;IAC3C,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,oBAAoB;IAC1D,YAAa,UAAkB;QAC7B,KAAK,CAAC,aAAa,UAAU,mEAAmE,CAAC,CAAA;QACjG,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAA;IACzC,CAAC;CACF;AAED,MAAM,OAAO,6BAA8B,SAAQ,oBAAoB;IACrE,YAAa,IAAY;QACvB,KAAK,CAAC,oCAAoC,IAAI,4FAA4F,CAAC,CAAA;QAC3I,IAAI,CAAC,IAAI,GAAG,sCAAsC,CAAA;IACpD,CAAC;CACF"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
* transports: [
|
|
62
62
|
* webSockets({filter: filters.all})
|
|
63
63
|
* ],
|
|
64
|
-
*
|
|
64
|
+
* connectionEncrypters: [noise()],
|
|
65
65
|
* streamMuxers: [yamux()],
|
|
66
66
|
* services: {
|
|
67
67
|
* identify: identify(),
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
* discoverRelays: 1
|
|
84
84
|
* })
|
|
85
85
|
* ],
|
|
86
|
-
*
|
|
86
|
+
* connectionEncrypters: [noise()],
|
|
87
87
|
* streamMuxers: [yamux()],
|
|
88
88
|
* services: {
|
|
89
89
|
* identify: identify(),
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
* webRTC(),
|
|
121
121
|
* circuitRelayTransport()
|
|
122
122
|
* ],
|
|
123
|
-
*
|
|
123
|
+
* connectionEncrypters: [noise()],
|
|
124
124
|
* streamMuxers: [yamux()],
|
|
125
125
|
* services: {
|
|
126
126
|
* identify: identify(),
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
* transports: [
|
|
167
167
|
* webRTCDirect()
|
|
168
168
|
* ],
|
|
169
|
-
*
|
|
169
|
+
* connectionEncrypters: [
|
|
170
170
|
* noise()
|
|
171
171
|
* ]
|
|
172
172
|
* })
|
package/dist/src/index.js
CHANGED
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
* transports: [
|
|
62
62
|
* webSockets({filter: filters.all})
|
|
63
63
|
* ],
|
|
64
|
-
*
|
|
64
|
+
* connectionEncrypters: [noise()],
|
|
65
65
|
* streamMuxers: [yamux()],
|
|
66
66
|
* services: {
|
|
67
67
|
* identify: identify(),
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
* discoverRelays: 1
|
|
84
84
|
* })
|
|
85
85
|
* ],
|
|
86
|
-
*
|
|
86
|
+
* connectionEncrypters: [noise()],
|
|
87
87
|
* streamMuxers: [yamux()],
|
|
88
88
|
* services: {
|
|
89
89
|
* identify: identify(),
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
* webRTC(),
|
|
121
121
|
* circuitRelayTransport()
|
|
122
122
|
* ],
|
|
123
|
-
*
|
|
123
|
+
* connectionEncrypters: [noise()],
|
|
124
124
|
* streamMuxers: [yamux()],
|
|
125
125
|
* services: {
|
|
126
126
|
* identify: identify(),
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
* transports: [
|
|
167
167
|
* webRTCDirect()
|
|
168
168
|
* ],
|
|
169
|
-
*
|
|
169
|
+
* connectionEncrypters: [
|
|
170
170
|
* noise()
|
|
171
171
|
* ]
|
|
172
172
|
* })
|
package/dist/src/pb/message.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Codec, type DecodeOptions } from 'protons-runtime';
|
|
2
2
|
import type { Uint8ArrayList } from 'uint8arraylist';
|
|
3
3
|
export interface Message {
|
|
4
4
|
flag?: Message.Flag;
|
|
@@ -16,6 +16,6 @@ export declare namespace Message {
|
|
|
16
16
|
}
|
|
17
17
|
const codec: () => Codec<Message>;
|
|
18
18
|
const encode: (obj: Partial<Message>) => Uint8Array;
|
|
19
|
-
const decode: (buf: Uint8Array | Uint8ArrayList) => Message;
|
|
19
|
+
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Message>) => Message;
|
|
20
20
|
}
|
|
21
21
|
//# sourceMappingURL=message.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/pb/message.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/pb/message.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAiB,KAAK,aAAa,EAAuC,MAAM,iBAAiB,CAAA;AACpH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAA;IACnB,OAAO,CAAC,EAAE,UAAU,CAAA;CACrB;AAED,yBAAiB,OAAO,CAAC;IACvB,KAAY,IAAI;QACd,GAAG,QAAQ;QACX,YAAY,iBAAiB;QAC7B,KAAK,UAAU;QACf,OAAO,YAAY;KACpB;IASD,UAAiB,IAAI,CAAC;QACb,MAAM,KAAK,QAAO,MAAM,IAAI,CAElC,CAAA;KACF;IAIM,MAAM,KAAK,QAAO,MAAM,OAAO,CAiDrC,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,OAAO,CAAC,KAAG,UAE9C,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,cAAc,OAAO,CAAC,KAAG,OAExF,CAAA;CACF"}
|
package/dist/src/pb/message.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-namespace */
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
|
|
5
5
|
/* eslint-disable @typescript-eslint/no-empty-interface */
|
|
6
|
-
import {
|
|
6
|
+
import { decodeMessage, encodeMessage, enumeration, message } from 'protons-runtime';
|
|
7
7
|
export var Message;
|
|
8
8
|
(function (Message) {
|
|
9
9
|
let Flag;
|
|
@@ -43,21 +43,24 @@ export var Message;
|
|
|
43
43
|
if (opts.lengthDelimited !== false) {
|
|
44
44
|
w.ldelim();
|
|
45
45
|
}
|
|
46
|
-
}, (reader, length) => {
|
|
46
|
+
}, (reader, length, opts = {}) => {
|
|
47
47
|
const obj = {};
|
|
48
48
|
const end = length == null ? reader.len : reader.pos + length;
|
|
49
49
|
while (reader.pos < end) {
|
|
50
50
|
const tag = reader.uint32();
|
|
51
51
|
switch (tag >>> 3) {
|
|
52
|
-
case 1:
|
|
52
|
+
case 1: {
|
|
53
53
|
obj.flag = Message.Flag.codec().decode(reader);
|
|
54
54
|
break;
|
|
55
|
-
|
|
55
|
+
}
|
|
56
|
+
case 2: {
|
|
56
57
|
obj.message = reader.bytes();
|
|
57
58
|
break;
|
|
58
|
-
|
|
59
|
+
}
|
|
60
|
+
default: {
|
|
59
61
|
reader.skipType(tag & 7);
|
|
60
62
|
break;
|
|
63
|
+
}
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
66
|
return obj;
|
|
@@ -68,8 +71,8 @@ export var Message;
|
|
|
68
71
|
Message.encode = (obj) => {
|
|
69
72
|
return encodeMessage(obj, Message.codec());
|
|
70
73
|
};
|
|
71
|
-
Message.decode = (buf) => {
|
|
72
|
-
return decodeMessage(buf, Message.codec());
|
|
74
|
+
Message.decode = (buf, opts) => {
|
|
75
|
+
return decodeMessage(buf, Message.codec(), opts);
|
|
73
76
|
};
|
|
74
77
|
})(Message || (Message = {}));
|
|
75
78
|
//# sourceMappingURL=message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/pb/message.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,+BAA+B;AAC/B,oDAAoD;AACpD,8EAA8E;AAC9E,0DAA0D;AAE1D,OAAO,
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/pb/message.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initiate-connection.d.ts","sourceRoot":"","sources":["../../../src/private-to-private/initiate-connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initiate-connection.d.ts","sourceRoot":"","sources":["../../../src/private-to-private/initiate-connection.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAyB,MAAM,oBAAoB,CAAA;AAE7E,OAAO,EAAiC,KAAK,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAElH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,EAAE,aAAa,EAAc,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AACzG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAChD,MAAM,EAAE,WAAW,CAAA;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,aAAa,EAAE,eAAe,CAAC,gBAAgB,CAAC;IACtF,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,kBAAkB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAChD,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,wBAAsB,kBAAkB,CAAE,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,SAAS,CAAC;IAAC,cAAc,EAAE,iBAAiB,CAAC;IAAC,YAAY,EAAE,uBAAuB,CAAA;CAAE,CAAC,CAgL1S"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { InvalidParametersError } from '@libp2p/interface';
|
|
2
2
|
import { peerIdFromString } from '@libp2p/peer-id';
|
|
3
3
|
import { pbStream } from 'it-protobuf-stream';
|
|
4
4
|
import { CustomProgressEvent } from 'progress-events';
|
|
5
|
+
import { SDPHandshakeFailedError } from '../error.js';
|
|
5
6
|
import { DataChannelMuxerFactory } from '../muxer.js';
|
|
6
7
|
import { RTCPeerConnection, RTCSessionDescription } from '../webrtc/index.js';
|
|
7
8
|
import { Message } from './pb/message.js';
|
|
@@ -13,7 +14,7 @@ export async function initiateConnection({ rtcConfiguration, dataChannel, signal
|
|
|
13
14
|
log.trace('dialing base address: %a', baseAddr);
|
|
14
15
|
const relayPeer = baseAddr.getPeerId();
|
|
15
16
|
if (relayPeer == null) {
|
|
16
|
-
throw new
|
|
17
|
+
throw new InvalidParametersError('Relay peer was missing');
|
|
17
18
|
}
|
|
18
19
|
const connections = connectionManager.getConnections(peerIdFromString(relayPeer));
|
|
19
20
|
let connection;
|
|
@@ -39,7 +40,7 @@ export async function initiateConnection({ rtcConfiguration, dataChannel, signal
|
|
|
39
40
|
onProgress?.(new CustomProgressEvent('webrtc:open-signaling-stream'));
|
|
40
41
|
const stream = await connection.newStream(SIGNALING_PROTO_ID, {
|
|
41
42
|
signal,
|
|
42
|
-
|
|
43
|
+
runOnLimitedConnection: true
|
|
43
44
|
});
|
|
44
45
|
const messageStream = pbStream(stream).pb(Message);
|
|
45
46
|
const peerConnection = new RTCPeerConnection(rtcConfiguration);
|
|
@@ -78,7 +79,7 @@ export async function initiateConnection({ rtcConfiguration, dataChannel, signal
|
|
|
78
79
|
// create an offer
|
|
79
80
|
const offerSdp = await peerConnection.createOffer().catch(err => {
|
|
80
81
|
log.error('could not execute createOffer', err);
|
|
81
|
-
throw new
|
|
82
|
+
throw new SDPHandshakeFailedError('Failed to set createOffer');
|
|
82
83
|
});
|
|
83
84
|
log.trace('initiator send SDP offer %s', offerSdp.sdp);
|
|
84
85
|
onProgress?.(new CustomProgressEvent('webrtc:send-sdp-offer'));
|
|
@@ -89,21 +90,22 @@ export async function initiateConnection({ rtcConfiguration, dataChannel, signal
|
|
|
89
90
|
// set offer as local description
|
|
90
91
|
await peerConnection.setLocalDescription(offerSdp).catch(err => {
|
|
91
92
|
log.error('could not execute setLocalDescription', err);
|
|
92
|
-
throw new
|
|
93
|
+
throw new SDPHandshakeFailedError('Failed to set localDescription');
|
|
93
94
|
});
|
|
94
95
|
onProgress?.(new CustomProgressEvent('webrtc:read-sdp-answer'));
|
|
96
|
+
log.trace('initiator read SDP answer');
|
|
95
97
|
// read answer
|
|
96
98
|
const answerMessage = await messageStream.read({
|
|
97
99
|
signal
|
|
98
100
|
});
|
|
99
101
|
if (answerMessage.type !== Message.Type.SDP_ANSWER) {
|
|
100
|
-
throw new
|
|
102
|
+
throw new SDPHandshakeFailedError('Remote should send an SDP answer');
|
|
101
103
|
}
|
|
102
|
-
log.trace('initiator
|
|
104
|
+
log.trace('initiator received SDP answer %s', answerMessage.data);
|
|
103
105
|
const answerSdp = new RTCSessionDescription({ type: 'answer', sdp: answerMessage.data });
|
|
104
106
|
await peerConnection.setRemoteDescription(answerSdp).catch(err => {
|
|
105
107
|
log.error('could not execute setRemoteDescription', err);
|
|
106
|
-
throw new
|
|
108
|
+
throw new SDPHandshakeFailedError('Failed to set remoteDescription');
|
|
107
109
|
});
|
|
108
110
|
log.trace('initiator read candidates until connected');
|
|
109
111
|
onProgress?.(new CustomProgressEvent('webrtc:read-ice-candidates'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initiate-connection.js","sourceRoot":"","sources":["../../../src/private-to-private/initiate-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"initiate-connection.js","sourceRoot":"","sources":["../../../src/private-to-private/initiate-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Codec, type DecodeOptions } from 'protons-runtime';
|
|
2
2
|
import type { Uint8ArrayList } from 'uint8arraylist';
|
|
3
3
|
export interface Message {
|
|
4
4
|
type?: Message.Type;
|
|
@@ -15,6 +15,6 @@ export declare namespace Message {
|
|
|
15
15
|
}
|
|
16
16
|
const codec: () => Codec<Message>;
|
|
17
17
|
const encode: (obj: Partial<Message>) => Uint8Array;
|
|
18
|
-
const decode: (buf: Uint8Array | Uint8ArrayList) => Message;
|
|
18
|
+
const decode: (buf: Uint8Array | Uint8ArrayList, opts?: DecodeOptions<Message>) => Message;
|
|
19
19
|
}
|
|
20
20
|
//# sourceMappingURL=message.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../src/private-to-private/pb/message.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../../src/private-to-private/pb/message.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAiB,KAAK,aAAa,EAAuC,MAAM,iBAAiB,CAAA;AACpH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,MAAM,WAAW,OAAO;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC,IAAI,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,yBAAiB,OAAO,CAAC;IACvB,KAAY,IAAI;QACd,SAAS,cAAc;QACvB,UAAU,eAAe;QACzB,aAAa,kBAAkB;KAChC;IAQD,UAAiB,IAAI,CAAC;QACb,MAAM,KAAK,QAAO,MAAM,IAAI,CAElC,CAAA;KACF;IAIM,MAAM,KAAK,QAAO,MAAM,OAAO,CAiDrC,CAAA;IAEM,MAAM,MAAM,QAAS,QAAQ,OAAO,CAAC,KAAG,UAE9C,CAAA;IAEM,MAAM,MAAM,QAAS,UAAU,GAAG,cAAc,SAAS,cAAc,OAAO,CAAC,KAAG,OAExF,CAAA;CACF"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-namespace */
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
|
|
5
5
|
/* eslint-disable @typescript-eslint/no-empty-interface */
|
|
6
|
-
import {
|
|
6
|
+
import { decodeMessage, encodeMessage, enumeration, message } from 'protons-runtime';
|
|
7
7
|
export var Message;
|
|
8
8
|
(function (Message) {
|
|
9
9
|
let Type;
|
|
@@ -41,21 +41,24 @@ export var Message;
|
|
|
41
41
|
if (opts.lengthDelimited !== false) {
|
|
42
42
|
w.ldelim();
|
|
43
43
|
}
|
|
44
|
-
}, (reader, length) => {
|
|
44
|
+
}, (reader, length, opts = {}) => {
|
|
45
45
|
const obj = {};
|
|
46
46
|
const end = length == null ? reader.len : reader.pos + length;
|
|
47
47
|
while (reader.pos < end) {
|
|
48
48
|
const tag = reader.uint32();
|
|
49
49
|
switch (tag >>> 3) {
|
|
50
|
-
case 1:
|
|
50
|
+
case 1: {
|
|
51
51
|
obj.type = Message.Type.codec().decode(reader);
|
|
52
52
|
break;
|
|
53
|
-
|
|
53
|
+
}
|
|
54
|
+
case 2: {
|
|
54
55
|
obj.data = reader.string();
|
|
55
56
|
break;
|
|
56
|
-
|
|
57
|
+
}
|
|
58
|
+
default: {
|
|
57
59
|
reader.skipType(tag & 7);
|
|
58
60
|
break;
|
|
61
|
+
}
|
|
59
62
|
}
|
|
60
63
|
}
|
|
61
64
|
return obj;
|
|
@@ -66,8 +69,8 @@ export var Message;
|
|
|
66
69
|
Message.encode = (obj) => {
|
|
67
70
|
return encodeMessage(obj, Message.codec());
|
|
68
71
|
};
|
|
69
|
-
Message.decode = (buf) => {
|
|
70
|
-
return decodeMessage(buf, Message.codec());
|
|
72
|
+
Message.decode = (buf, opts) => {
|
|
73
|
+
return decodeMessage(buf, Message.codec(), opts);
|
|
71
74
|
};
|
|
72
75
|
})(Message || (Message = {}));
|
|
73
76
|
//# sourceMappingURL=message.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../src/private-to-private/pb/message.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,+BAA+B;AAC/B,oDAAoD;AACpD,8EAA8E;AAC9E,0DAA0D;AAE1D,OAAO,
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../../../src/private-to-private/pb/message.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signaling-stream-handler.d.ts","sourceRoot":"","sources":["../../../src/private-to-private/signaling-stream-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signaling-stream-handler.d.ts","sourceRoot":"","sources":["../../../src/private-to-private/signaling-stream-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGnE,OAAO,EAAE,KAAK,iBAAiB,EAAyB,MAAM,oBAAoB,CAAA;AAGlF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAEpE,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,cAAc,EAAE,iBAAiB,CAAA;IACjC,MAAM,EAAE,WAAW,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,wBAAsB,oBAAoB,CAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,SAAS,CAAA;CAAE,CAAC,CA4F1J"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { CodeError } from '@libp2p/interface';
|
|
2
1
|
import { multiaddr } from '@multiformats/multiaddr';
|
|
3
2
|
import { pbStream } from 'it-protobuf-stream';
|
|
3
|
+
import { SDPHandshakeFailedError } from '../error.js';
|
|
4
4
|
import { RTCSessionDescription } from '../webrtc/index.js';
|
|
5
5
|
import { Message } from './pb/message.js';
|
|
6
|
-
import { readCandidatesUntilConnected } from './util.js';
|
|
6
|
+
import { getConnectionState, readCandidatesUntilConnected } from './util.js';
|
|
7
7
|
export async function handleIncomingStream({ peerConnection, stream, signal, connection, log }) {
|
|
8
8
|
log.trace('new inbound signaling stream');
|
|
9
9
|
const messageStream = pbStream(stream).pb(Message);
|
|
@@ -26,26 +26,27 @@ export async function handleIncomingStream({ peerConnection, stream, signal, con
|
|
|
26
26
|
log.error('error sending ICE candidate', err);
|
|
27
27
|
});
|
|
28
28
|
};
|
|
29
|
+
log.trace('recipient read SDP offer');
|
|
29
30
|
// read an SDP offer
|
|
30
31
|
const pbOffer = await messageStream.read({
|
|
31
32
|
signal
|
|
32
33
|
});
|
|
33
34
|
if (pbOffer.type !== Message.Type.SDP_OFFER) {
|
|
34
|
-
throw new
|
|
35
|
+
throw new SDPHandshakeFailedError(`expected message type SDP_OFFER, received: ${pbOffer.type ?? 'undefined'} `);
|
|
35
36
|
}
|
|
36
|
-
log.trace('recipient
|
|
37
|
+
log.trace('recipient received SDP offer %s', pbOffer.data);
|
|
37
38
|
const offer = new RTCSessionDescription({
|
|
38
39
|
type: 'offer',
|
|
39
40
|
sdp: pbOffer.data
|
|
40
41
|
});
|
|
41
42
|
await peerConnection.setRemoteDescription(offer).catch(err => {
|
|
42
43
|
log.error('could not execute setRemoteDescription', err);
|
|
43
|
-
throw new
|
|
44
|
+
throw new SDPHandshakeFailedError('Failed to set remoteDescription');
|
|
44
45
|
});
|
|
45
46
|
// create and write an SDP answer
|
|
46
47
|
const answer = await peerConnection.createAnswer().catch(err => {
|
|
47
48
|
log.error('could not execute createAnswer', err);
|
|
48
|
-
throw new
|
|
49
|
+
throw new SDPHandshakeFailedError('Failed to create answer');
|
|
49
50
|
});
|
|
50
51
|
log.trace('recipient send SDP answer %s', answer.sdp);
|
|
51
52
|
// write the answer to the remote
|
|
@@ -54,7 +55,7 @@ export async function handleIncomingStream({ peerConnection, stream, signal, con
|
|
|
54
55
|
});
|
|
55
56
|
await peerConnection.setLocalDescription(answer).catch(err => {
|
|
56
57
|
log.error('could not execute setLocalDescription', err);
|
|
57
|
-
throw new
|
|
58
|
+
throw new SDPHandshakeFailedError('Failed to set localDescription');
|
|
58
59
|
});
|
|
59
60
|
log.trace('recipient read candidates until connected');
|
|
60
61
|
// wait until candidates are connected
|
|
@@ -65,7 +66,7 @@ export async function handleIncomingStream({ peerConnection, stream, signal, con
|
|
|
65
66
|
});
|
|
66
67
|
}
|
|
67
68
|
catch (err) {
|
|
68
|
-
if (peerConnection
|
|
69
|
+
if (getConnectionState(peerConnection) !== 'connected') {
|
|
69
70
|
log.error('error while handling signaling stream from peer %a', connection.remoteAddr, err);
|
|
70
71
|
peerConnection.close();
|
|
71
72
|
throw err;
|