@libp2p/webrtc 2.0.0 → 2.0.1

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.
Files changed (90) hide show
  1. package/dist/index.min.js +17 -18
  2. package/dist/src/index.d.ts +2 -2
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +2 -2
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/pb/message.d.ts +20 -0
  7. package/dist/src/pb/message.d.ts.map +1 -0
  8. package/dist/src/pb/message.js +73 -0
  9. package/dist/src/pb/message.js.map +1 -0
  10. package/dist/src/private-to-private/handler.d.ts.map +1 -0
  11. package/dist/src/{peer_transport → private-to-private}/handler.js +9 -9
  12. package/dist/src/private-to-private/handler.js.map +1 -0
  13. package/dist/src/private-to-private/listener.d.ts.map +1 -0
  14. package/dist/src/private-to-private/listener.js.map +1 -0
  15. package/dist/src/{peer_transport/pb/index.d.ts → private-to-private/pb/message.d.ts} +2 -2
  16. package/dist/src/private-to-private/pb/message.d.ts.map +1 -0
  17. package/dist/src/{peer_transport/pb/index.js → private-to-private/pb/message.js} +1 -1
  18. package/dist/src/private-to-private/pb/message.js.map +1 -0
  19. package/dist/src/private-to-private/transport.d.ts.map +1 -0
  20. package/dist/src/private-to-private/transport.js.map +1 -0
  21. package/dist/src/{peer_transport → private-to-private}/util.d.ts +3 -4
  22. package/dist/src/private-to-private/util.d.ts.map +1 -0
  23. package/dist/src/{peer_transport → private-to-private}/util.js +3 -5
  24. package/dist/src/private-to-private/util.js.map +1 -0
  25. package/dist/src/private-to-public/options.d.ts.map +1 -0
  26. package/dist/src/private-to-public/options.js.map +1 -0
  27. package/dist/src/private-to-public/sdp.d.ts.map +1 -0
  28. package/dist/src/{sdp.js → private-to-public/sdp.js} +1 -1
  29. package/dist/src/private-to-public/sdp.js.map +1 -0
  30. package/dist/src/private-to-public/transport.d.ts.map +1 -0
  31. package/dist/src/{transport.js → private-to-public/transport.js} +5 -5
  32. package/dist/src/private-to-public/transport.js.map +1 -0
  33. package/dist/src/private-to-public/util.d.ts +2 -0
  34. package/dist/src/private-to-public/util.d.ts.map +1 -0
  35. package/dist/src/private-to-public/util.js +3 -0
  36. package/dist/src/private-to-public/util.js.map +1 -0
  37. package/dist/src/stream.d.ts +2 -2
  38. package/dist/src/stream.d.ts.map +1 -1
  39. package/dist/src/stream.js +16 -16
  40. package/dist/src/stream.js.map +1 -1
  41. package/dist/src/util.d.ts +1 -1
  42. package/dist/src/util.d.ts.map +1 -1
  43. package/dist/src/util.js +3 -2
  44. package/dist/src/util.js.map +1 -1
  45. package/package.json +2 -5
  46. package/src/index.ts +3 -3
  47. package/src/{message.proto → pb/message.proto} +2 -4
  48. package/src/pb/message.ts +92 -0
  49. package/src/{peer_transport → private-to-private}/handler.ts +9 -9
  50. package/src/{peer_transport/pb/index.ts → private-to-private/pb/message.ts} +1 -1
  51. package/src/{peer_transport → private-to-private}/util.ts +5 -8
  52. package/src/{sdp.ts → private-to-public/sdp.ts} +1 -1
  53. package/src/{transport.ts → private-to-public/transport.ts} +5 -5
  54. package/src/private-to-public/util.ts +3 -0
  55. package/src/stream.ts +18 -18
  56. package/src/util.ts +5 -3
  57. package/dist/proto_ts/message.d.ts +0 -56
  58. package/dist/proto_ts/message.d.ts.map +0 -1
  59. package/dist/proto_ts/message.js +0 -86
  60. package/dist/proto_ts/message.js.map +0 -1
  61. package/dist/src/options.d.ts.map +0 -1
  62. package/dist/src/options.js.map +0 -1
  63. package/dist/src/peer_transport/handler.d.ts.map +0 -1
  64. package/dist/src/peer_transport/handler.js.map +0 -1
  65. package/dist/src/peer_transport/listener.d.ts.map +0 -1
  66. package/dist/src/peer_transport/listener.js.map +0 -1
  67. package/dist/src/peer_transport/pb/index.d.ts.map +0 -1
  68. package/dist/src/peer_transport/pb/index.js.map +0 -1
  69. package/dist/src/peer_transport/transport.d.ts.map +0 -1
  70. package/dist/src/peer_transport/transport.js.map +0 -1
  71. package/dist/src/peer_transport/util.d.ts.map +0 -1
  72. package/dist/src/peer_transport/util.js.map +0 -1
  73. package/dist/src/sdp.d.ts.map +0 -1
  74. package/dist/src/sdp.js.map +0 -1
  75. package/dist/src/transport.d.ts.map +0 -1
  76. package/dist/src/transport.js.map +0 -1
  77. package/proto_ts/message.ts +0 -106
  78. /package/dist/src/{peer_transport → private-to-private}/handler.d.ts +0 -0
  79. /package/dist/src/{peer_transport → private-to-private}/listener.d.ts +0 -0
  80. /package/dist/src/{peer_transport → private-to-private}/listener.js +0 -0
  81. /package/dist/src/{peer_transport → private-to-private}/transport.d.ts +0 -0
  82. /package/dist/src/{peer_transport → private-to-private}/transport.js +0 -0
  83. /package/dist/src/{options.d.ts → private-to-public/options.d.ts} +0 -0
  84. /package/dist/src/{options.js → private-to-public/options.js} +0 -0
  85. /package/dist/src/{sdp.d.ts → private-to-public/sdp.d.ts} +0 -0
  86. /package/dist/src/{transport.d.ts → private-to-public/transport.d.ts} +0 -0
  87. /package/src/{peer_transport → private-to-private}/listener.ts +0 -0
  88. /package/src/{peer_transport/pb/index.proto → private-to-private/pb/message.proto} +0 -0
  89. /package/src/{peer_transport → private-to-private}/transport.ts +0 -0
  90. /package/src/{options.ts → private-to-public/options.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
+ export declare const isFirefox: boolean;
1
2
  export declare const nopSource: () => AsyncGenerator<Uint8Array, any, unknown>;
2
3
  export declare const nopSink: (_: any) => Promise<void>;
3
- export declare const genUfrag: (len: number) => string;
4
4
  //# sourceMappingURL=util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,QAA4B,eAAe,UAAU,EAAE,GAAG,EAAE,OAAO,CAAI,CAAA;AAE7F,eAAO,MAAM,OAAO,MAAa,GAAG,KAAG,QAAQ,IAAI,CAAO,CAAA;AAG1D,eAAO,MAAM,QAAQ,QAAS,MAAM,KAAG,MAAoG,CAAA"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,SAAS,SAAoD,CAAA;AAE1E,eAAO,MAAM,SAAS,QAA4B,eAAe,UAAU,EAAE,GAAG,EAAE,OAAO,CAAI,CAAA;AAE7F,eAAO,MAAM,OAAO,MAAa,GAAG,KAAG,QAAQ,IAAI,CAAO,CAAA"}
package/dist/src/util.js CHANGED
@@ -1,5 +1,6 @@
1
+ import { detect } from 'detect-browser';
2
+ const browser = detect();
3
+ export const isFirefox = ((browser != null) && browser.name === 'firefox');
1
4
  export const nopSource = async function* nop() { };
2
5
  export const nopSink = async (_) => { };
3
- const charset = Array.from('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/');
4
- export const genUfrag = (len) => [...Array(len)].map(() => charset.at(Math.floor(Math.random() * charset.length))).join('');
5
6
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,SAAU,CAAC,CAAC,GAAG,KAA+C,CAAC,CAAA;AAE7F,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAM,EAAiB,EAAE,GAAE,CAAC,CAAA;AAE1D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAA;AAC9F,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAA;AACxB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,SAAU,CAAC,CAAC,GAAG,KAA+C,CAAC,CAAA;AAE7F,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAM,EAAiB,EAAE,GAAE,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/webrtc",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "A libp2p transport using WebRTC connections",
5
5
  "author": "",
6
6
  "license": "Apache-2.0 OR MIT",
@@ -123,8 +123,7 @@
123
123
  ]
124
124
  },
125
125
  "scripts": {
126
- "generate:proto": "npx protoc --ts_out proto_ts --proto_path src src/*.proto",
127
- "generate:webrtc-direct": "protons src/peer_transport/pb/index.proto",
126
+ "generate": "protons src/private-to-private/pb/message.proto src/pb/message.proto",
128
127
  "build": "aegir build",
129
128
  "test": "aegir test -t browser",
130
129
  "test:chrome": "aegir test -t browser --cov",
@@ -148,7 +147,6 @@
148
147
  "@libp2p/logger": "^2.0.7",
149
148
  "@libp2p/peer-id": "^2.0.3",
150
149
  "@multiformats/multiaddr": "^12.1.2",
151
- "@protobuf-ts/runtime": "^2.9.0",
152
150
  "abortable-iterator": "^5.0.1",
153
151
  "detect-browser": "^5.3.0",
154
152
  "it-length-prefixed": "^9.0.1",
@@ -167,7 +165,6 @@
167
165
  "devDependencies": {
168
166
  "@libp2p/interface-mocks": "^12.0.1",
169
167
  "@libp2p/peer-id-factory": "^2.0.3",
170
- "@protobuf-ts/protoc": "^2.9.0",
171
168
  "@types/sinon": "^10.0.14",
172
169
  "aegir": "^39.0.6",
173
170
  "it-pair": "^2.0.6",
package/src/index.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { WebRTCTransport } from './peer_transport/transport.js'
2
- import { WebRTCDirectTransport, type WebRTCDirectTransportComponents } from './transport.js'
3
- import type { WebRTCTransportComponents, WebRTCTransportInit } from './peer_transport/transport.js'
1
+ import { WebRTCTransport } from './private-to-private/transport.js'
2
+ import { WebRTCDirectTransport, type WebRTCDirectTransportComponents } from './private-to-public/transport.js'
3
+ import type { WebRTCTransportComponents, WebRTCTransportInit } from './private-to-private/transport.js'
4
4
  import type { Transport } from '@libp2p/interface-transport'
5
5
 
6
6
  function webRTCDirect (): (components: WebRTCDirectTransportComponents) => Transport {
@@ -1,6 +1,4 @@
1
- syntax = "proto2";
2
-
3
- package webrtc.pb;
1
+ syntax = "proto3";
4
2
 
5
3
  message Message {
6
4
  enum Flag {
@@ -10,7 +8,7 @@ message Message {
10
8
  // The sender will no longer read messages on the stream. Incoming data is
11
9
  // being discarded on receipt.
12
10
  STOP_SENDING = 1;
13
-
11
+
14
12
  // The sender abruptly terminates the sending part of the stream. The
15
13
  // receiver can discard any data that it already received on that stream.
16
14
  RESET = 2;
@@ -0,0 +1,92 @@
1
+ /* eslint-disable import/export */
2
+ /* eslint-disable complexity */
3
+ /* eslint-disable @typescript-eslint/no-namespace */
4
+ /* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */
5
+ /* eslint-disable @typescript-eslint/no-empty-interface */
6
+
7
+ import { enumeration, encodeMessage, decodeMessage, message } from 'protons-runtime'
8
+ import type { Codec } from 'protons-runtime'
9
+ import type { Uint8ArrayList } from 'uint8arraylist'
10
+
11
+ export interface Message {
12
+ flag?: Message.Flag
13
+ message?: Uint8Array
14
+ }
15
+
16
+ export namespace Message {
17
+ export enum Flag {
18
+ FIN = 'FIN',
19
+ STOP_SENDING = 'STOP_SENDING',
20
+ RESET = 'RESET'
21
+ }
22
+
23
+ enum __FlagValues {
24
+ FIN = 0,
25
+ STOP_SENDING = 1,
26
+ RESET = 2
27
+ }
28
+
29
+ export namespace Flag {
30
+ export const codec = (): Codec<Flag> => {
31
+ return enumeration<Flag>(__FlagValues)
32
+ }
33
+ }
34
+
35
+ let _codec: Codec<Message>
36
+
37
+ export const codec = (): Codec<Message> => {
38
+ if (_codec == null) {
39
+ _codec = message<Message>((obj, w, opts = {}) => {
40
+ if (opts.lengthDelimited !== false) {
41
+ w.fork()
42
+ }
43
+
44
+ if (obj.flag != null) {
45
+ w.uint32(8)
46
+ Message.Flag.codec().encode(obj.flag, w)
47
+ }
48
+
49
+ if (obj.message != null) {
50
+ w.uint32(18)
51
+ w.bytes(obj.message)
52
+ }
53
+
54
+ if (opts.lengthDelimited !== false) {
55
+ w.ldelim()
56
+ }
57
+ }, (reader, length) => {
58
+ const obj: any = {}
59
+
60
+ const end = length == null ? reader.len : reader.pos + length
61
+
62
+ while (reader.pos < end) {
63
+ const tag = reader.uint32()
64
+
65
+ switch (tag >>> 3) {
66
+ case 1:
67
+ obj.flag = Message.Flag.codec().decode(reader)
68
+ break
69
+ case 2:
70
+ obj.message = reader.bytes()
71
+ break
72
+ default:
73
+ reader.skipType(tag & 7)
74
+ break
75
+ }
76
+ }
77
+
78
+ return obj
79
+ })
80
+ }
81
+
82
+ return _codec
83
+ }
84
+
85
+ export const encode = (obj: Partial<Message>): Uint8Array => {
86
+ return encodeMessage(obj, Message.codec())
87
+ }
88
+
89
+ export const decode = (buf: Uint8Array | Uint8ArrayList): Message => {
90
+ return decodeMessage(buf, Message.codec())
91
+ }
92
+ }
@@ -3,7 +3,7 @@ import { abortableDuplex } from 'abortable-iterator'
3
3
  import { pbStream } from 'it-pb-stream'
4
4
  import pDefer, { type DeferredPromise } from 'p-defer'
5
5
  import { DataChannelMuxerFactory } from '../muxer.js'
6
- import * as pb from './pb/index.js'
6
+ import { Message } from './pb/message.js'
7
7
  import { readCandidatesUntilConnected, resolveOnConnected } from './util.js'
8
8
  import type { Stream } from '@libp2p/interface-connection'
9
9
  import type { IncomingStreamData } from '@libp2p/interface-registrar'
@@ -17,7 +17,7 @@ export type IncomingStreamOpts = { rtcConfiguration?: RTCConfiguration } & Incom
17
17
 
18
18
  export async function handleIncomingStream ({ rtcConfiguration, stream: rawStream }: IncomingStreamOpts): Promise<{ pc: RTCPeerConnection, muxerFactory: StreamMuxerFactory, remoteAddress: string }> {
19
19
  const signal = AbortSignal.timeout(DEFAULT_TIMEOUT)
20
- const stream = pbStream(abortableDuplex(rawStream, signal)).pb(pb.Message)
20
+ const stream = pbStream(abortableDuplex(rawStream, signal)).pb(Message)
21
21
  const pc = new RTCPeerConnection(rtcConfiguration)
22
22
  const muxerFactory = new DataChannelMuxerFactory(pc)
23
23
 
@@ -30,7 +30,7 @@ export async function handleIncomingStream ({ rtcConfiguration, stream: rawStrea
30
30
  answerSentPromise.promise.then(
31
31
  () => {
32
32
  stream.write({
33
- type: pb.Message.Type.ICE_CANDIDATE,
33
+ type: Message.Type.ICE_CANDIDATE,
34
34
  data: (candidate != null) ? JSON.stringify(candidate.toJSON()) : ''
35
35
  })
36
36
  },
@@ -44,7 +44,7 @@ export async function handleIncomingStream ({ rtcConfiguration, stream: rawStrea
44
44
 
45
45
  // read an SDP offer
46
46
  const pbOffer = await stream.read()
47
- if (pbOffer.type !== pb.Message.Type.SDP_OFFER) {
47
+ if (pbOffer.type !== Message.Type.SDP_OFFER) {
48
48
  throw new Error(`expected message type SDP_OFFER, received: ${pbOffer.type ?? 'undefined'} `)
49
49
  }
50
50
  const offer = new RTCSessionDescription({
@@ -64,7 +64,7 @@ export async function handleIncomingStream ({ rtcConfiguration, stream: rawStrea
64
64
  throw new Error('Failed to create answer')
65
65
  })
66
66
  // write the answer to the remote
67
- stream.write({ type: pb.Message.Type.SDP_ANSWER, data: answer.sdp })
67
+ stream.write({ type: Message.Type.SDP_ANSWER, data: answer.sdp })
68
68
 
69
69
  await pc.setLocalDescription(answer).catch(err => {
70
70
  log.error('could not execute setLocalDescription', err)
@@ -89,7 +89,7 @@ export interface ConnectOptions {
89
89
  }
90
90
 
91
91
  export async function initiateConnection ({ rtcConfiguration, signal, stream: rawStream }: ConnectOptions): Promise<{ pc: RTCPeerConnection, muxerFactory: StreamMuxerFactory, remoteAddress: string }> {
92
- const stream = pbStream(abortableDuplex(rawStream, signal)).pb(pb.Message)
92
+ const stream = pbStream(abortableDuplex(rawStream, signal)).pb(Message)
93
93
  // setup peer connection
94
94
  const pc = new RTCPeerConnection(rtcConfiguration)
95
95
  const muxerFactory = new DataChannelMuxerFactory(pc)
@@ -107,14 +107,14 @@ export async function initiateConnection ({ rtcConfiguration, signal, stream: ra
107
107
  // peer
108
108
  pc.onicecandidate = ({ candidate }) => {
109
109
  stream.write({
110
- type: pb.Message.Type.ICE_CANDIDATE,
110
+ type: Message.Type.ICE_CANDIDATE,
111
111
  data: (candidate != null) ? JSON.stringify(candidate.toJSON()) : ''
112
112
  })
113
113
  }
114
114
  // create an offer
115
115
  const offerSdp = await pc.createOffer()
116
116
  // write the offer to the stream
117
- stream.write({ type: pb.Message.Type.SDP_OFFER, data: offerSdp.sdp })
117
+ stream.write({ type: Message.Type.SDP_OFFER, data: offerSdp.sdp })
118
118
  // set offer as local description
119
119
  await pc.setLocalDescription(offerSdp).catch(err => {
120
120
  log.error('could not execute setLocalDescription', err)
@@ -123,7 +123,7 @@ export async function initiateConnection ({ rtcConfiguration, signal, stream: ra
123
123
 
124
124
  // read answer
125
125
  const answerMessage = await stream.read()
126
- if (answerMessage.type !== pb.Message.Type.SDP_ANSWER) {
126
+ if (answerMessage.type !== Message.Type.SDP_ANSWER) {
127
127
  throw new Error('remote should send an SDP answer')
128
128
  }
129
129
 
@@ -82,7 +82,7 @@ export namespace Message {
82
82
  return _codec
83
83
  }
84
84
 
85
- export const encode = (obj: Message): Uint8Array => {
85
+ export const encode = (obj: Partial<Message>): Uint8Array => {
86
86
  return encodeMessage(obj, Message.codec())
87
87
  }
88
88
 
@@ -1,14 +1,11 @@
1
1
  import { logger } from '@libp2p/logger'
2
- import { detect } from 'detect-browser'
3
- import * as pb from './pb/index.js'
2
+ import { isFirefox } from '../util.js'
3
+ import { Message } from './pb/message.js'
4
4
  import type { DeferredPromise } from 'p-defer'
5
5
 
6
- const browser = detect()
7
- export const isFirefox = ((browser != null) && browser.name === 'firefox')
8
-
9
6
  interface MessageStream {
10
- read: () => Promise<pb.Message>
11
- write: (d: pb.Message) => void | Promise<void>
7
+ read: () => Promise<Message>
8
+ write: (d: Message) => void | Promise<void>
12
9
  }
13
10
 
14
11
  const log = logger('libp2p:webrtc:peer:util')
@@ -19,7 +16,7 @@ export const readCandidatesUntilConnected = async (connectedPromise: DeferredPro
19
16
  // check if readResult is a message
20
17
  if (readResult instanceof Object) {
21
18
  const message = readResult
22
- if (message.type !== pb.Message.Type.ICE_CANDIDATE) {
19
+ if (message.type !== Message.Type.ICE_CANDIDATE) {
23
20
  throw new Error('expected only ice candidates')
24
21
  }
25
22
  // end of candidates has been signalled
@@ -1,7 +1,7 @@
1
1
  import { logger } from '@libp2p/logger'
2
2
  import { bases } from 'multiformats/basics'
3
3
  import * as multihashes from 'multihashes'
4
- import { inappropriateMultiaddr, invalidArgument, invalidFingerprint, unsupportedHashAlgorithm } from './error.js'
4
+ import { inappropriateMultiaddr, invalidArgument, invalidFingerprint, unsupportedHashAlgorithm } from '../error.js'
5
5
  import { CERTHASH_CODE } from './transport.js'
6
6
  import type { Multiaddr } from '@multiformats/multiaddr'
7
7
  import type { HashCode, HashName } from 'multihashes'
@@ -6,12 +6,12 @@ import { protocols } from '@multiformats/multiaddr'
6
6
  import * as multihashes from 'multihashes'
7
7
  import { concat } from 'uint8arrays/concat'
8
8
  import { fromString as uint8arrayFromString } from 'uint8arrays/from-string'
9
- import { dataChannelError, inappropriateMultiaddr, unimplemented, invalidArgument } from './error.js'
10
- import { WebRTCMultiaddrConnection } from './maconn.js'
11
- import { DataChannelMuxerFactory } from './muxer.js'
12
- import { isFirefox } from './peer_transport/util.js'
9
+ import { dataChannelError, inappropriateMultiaddr, unimplemented, invalidArgument } from '../error.js'
10
+ import { WebRTCMultiaddrConnection } from '../maconn.js'
11
+ import { DataChannelMuxerFactory } from '../muxer.js'
12
+ import { WebRTCStream } from '../stream.js'
13
+ import { isFirefox } from '../util.js'
13
14
  import * as sdp from './sdp.js'
14
- import { WebRTCStream } from './stream.js'
15
15
  import { genUfrag } from './util.js'
16
16
  import type { WebRTCDialOptions } from './options.js'
17
17
  import type { Connection } from '@libp2p/interface-connection'
@@ -0,0 +1,3 @@
1
+
2
+ const charset = Array.from('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')
3
+ export const genUfrag = (len: number): string => [...Array(len)].map(() => charset.at(Math.floor(Math.random() * charset.length))).join('')
package/src/stream.ts CHANGED
@@ -5,7 +5,7 @@ import { pipe } from 'it-pipe'
5
5
  import { pushable } from 'it-pushable'
6
6
  import defer, { type DeferredPromise } from 'p-defer'
7
7
  import { Uint8ArrayList } from 'uint8arraylist'
8
- import * as pb from '../proto_ts/message.js'
8
+ import { Message } from './pb/message.js'
9
9
  import type { Stream, StreamStat, Direction } from '@libp2p/interface-connection'
10
10
  import type { Source } from 'it-stream-types'
11
11
 
@@ -66,7 +66,7 @@ interface StreamStateInput {
66
66
  * 1 = STOP_SENDING
67
67
  * 2 = RESET
68
68
  */
69
- flag: pb.Message_Flag
69
+ flag: Message.Flag
70
70
  }
71
71
 
72
72
  export enum StreamStates {
@@ -99,7 +99,7 @@ class StreamState {
99
99
 
100
100
  if (direction === 'inbound') {
101
101
  switch (flag) {
102
- case pb.Message_Flag.FIN:
102
+ case Message.Flag.FIN:
103
103
  if (this.state === StreamStates.OPEN) {
104
104
  this.state = StreamStates.READ_CLOSED
105
105
  } else if (this.state === StreamStates.WRITE_CLOSED) {
@@ -107,7 +107,7 @@ class StreamState {
107
107
  }
108
108
  break
109
109
 
110
- case pb.Message_Flag.STOP_SENDING:
110
+ case Message.Flag.STOP_SENDING:
111
111
  if (this.state === StreamStates.OPEN) {
112
112
  this.state = StreamStates.WRITE_CLOSED
113
113
  } else if (this.state === StreamStates.READ_CLOSED) {
@@ -115,7 +115,7 @@ class StreamState {
115
115
  }
116
116
  break
117
117
 
118
- case pb.Message_Flag.RESET:
118
+ case Message.Flag.RESET:
119
119
  this.state = StreamStates.CLOSED
120
120
  break
121
121
  default:
@@ -123,7 +123,7 @@ class StreamState {
123
123
  }
124
124
  } else {
125
125
  switch (flag) {
126
- case pb.Message_Flag.FIN:
126
+ case Message.Flag.FIN:
127
127
  if (this.state === StreamStates.OPEN) {
128
128
  this.state = StreamStates.WRITE_CLOSED
129
129
  } else if (this.state === StreamStates.READ_CLOSED) {
@@ -131,7 +131,7 @@ class StreamState {
131
131
  }
132
132
  break
133
133
 
134
- case pb.Message_Flag.STOP_SENDING:
134
+ case Message.Flag.STOP_SENDING:
135
135
  if (this.state === StreamStates.OPEN) {
136
136
  this.state = StreamStates.READ_CLOSED
137
137
  } else if (this.state === StreamStates.WRITE_CLOSED) {
@@ -139,7 +139,7 @@ class StreamState {
139
139
  }
140
140
  break
141
141
 
142
- case pb.Message_Flag.RESET:
142
+ case Message.Flag.RESET:
143
143
  this.state = StreamStates.CLOSED
144
144
  break
145
145
 
@@ -313,7 +313,7 @@ export class WebRTCStream implements Stream {
313
313
  if (this.streamState.isWriteClosed()) {
314
314
  return
315
315
  }
316
- const msgbuf = pb.Message.toBinary({ message: buf.subarray() })
316
+ const msgbuf = Message.encode({ message: buf.subarray() })
317
317
  const sendbuf = lengthPrefixed.encode.single(msgbuf)
318
318
 
319
319
  this.channel.send(sendbuf.subarray())
@@ -324,7 +324,7 @@ export class WebRTCStream implements Stream {
324
324
  * Handle incoming
325
325
  */
326
326
  processIncomingProtobuf (buffer: Uint8Array): Uint8Array | undefined {
327
- const message = pb.Message.fromBinary(buffer)
327
+ const message = Message.decode(buffer)
328
328
 
329
329
  if (message.flag !== undefined) {
330
330
  const [currentState, nextState] = this.streamState.transition({ direction: 'inbound', flag: message.flag })
@@ -371,14 +371,14 @@ export class WebRTCStream implements Stream {
371
371
  * Close a stream for reading only
372
372
  */
373
373
  closeRead (): void {
374
- const [currentState, nextState] = this.streamState.transition({ direction: 'outbound', flag: pb.Message_Flag.STOP_SENDING })
374
+ const [currentState, nextState] = this.streamState.transition({ direction: 'outbound', flag: Message.Flag.STOP_SENDING })
375
375
  if (currentState === nextState) {
376
376
  // No change, no op
377
377
  return
378
378
  }
379
379
 
380
380
  if (currentState === StreamStates.OPEN || currentState === StreamStates.WRITE_CLOSED) {
381
- this._sendFlag(pb.Message_Flag.STOP_SENDING)
381
+ this._sendFlag(Message.Flag.STOP_SENDING)
382
382
  this._innersrc.end()
383
383
  }
384
384
 
@@ -391,14 +391,14 @@ export class WebRTCStream implements Stream {
391
391
  * Close a stream for writing only
392
392
  */
393
393
  closeWrite (): void {
394
- const [currentState, nextState] = this.streamState.transition({ direction: 'outbound', flag: pb.Message_Flag.FIN })
394
+ const [currentState, nextState] = this.streamState.transition({ direction: 'outbound', flag: Message.Flag.FIN })
395
395
  if (currentState === nextState) {
396
396
  // No change, no op
397
397
  return
398
398
  }
399
399
 
400
400
  if (currentState === StreamStates.OPEN || currentState === StreamStates.READ_CLOSED) {
401
- this._sendFlag(pb.Message_Flag.FIN)
401
+ this._sendFlag(Message.Flag.FIN)
402
402
  this.closeWritePromise.resolve()
403
403
  }
404
404
 
@@ -421,20 +421,20 @@ export class WebRTCStream implements Stream {
421
421
  * @see this.closeWrite
422
422
  */
423
423
  reset (): void {
424
- const [currentState, nextState] = this.streamState.transition({ direction: 'outbound', flag: pb.Message_Flag.RESET })
424
+ const [currentState, nextState] = this.streamState.transition({ direction: 'outbound', flag: Message.Flag.RESET })
425
425
  if (currentState === nextState) {
426
426
  // No change, no op
427
427
  return
428
428
  }
429
429
 
430
- this._sendFlag(pb.Message_Flag.RESET)
430
+ this._sendFlag(Message.Flag.RESET)
431
431
  this.close()
432
432
  }
433
433
 
434
- private _sendFlag (flag: pb.Message_Flag): void {
434
+ private _sendFlag (flag: Message.Flag): void {
435
435
  try {
436
436
  log.trace('Sending flag: %s', flag.toString())
437
- const msgbuf = pb.Message.toBinary({ flag })
437
+ const msgbuf = Message.encode({ flag })
438
438
  this.channel.send(lengthPrefixed.encode.single(msgbuf).subarray())
439
439
  } catch (err) {
440
440
  if (err instanceof Error) {
package/src/util.ts CHANGED
@@ -1,6 +1,8 @@
1
+ import { detect } from 'detect-browser'
2
+
3
+ const browser = detect()
4
+ export const isFirefox = ((browser != null) && browser.name === 'firefox')
5
+
1
6
  export const nopSource = async function * nop (): AsyncGenerator<Uint8Array, any, unknown> {}
2
7
 
3
8
  export const nopSink = async (_: any): Promise<void> => {}
4
-
5
- const charset = Array.from('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')
6
- export const genUfrag = (len: number): string => [...Array(len)].map(() => charset.at(Math.floor(Math.random() * charset.length))).join('')
@@ -1,56 +0,0 @@
1
- import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
2
- import type { IBinaryWriter } from "@protobuf-ts/runtime";
3
- import type { BinaryReadOptions } from "@protobuf-ts/runtime";
4
- import type { IBinaryReader } from "@protobuf-ts/runtime";
5
- import type { PartialMessage } from "@protobuf-ts/runtime";
6
- import { MessageType } from "@protobuf-ts/runtime";
7
- /**
8
- * @generated from protobuf message webrtc.pb.Message
9
- */
10
- export interface Message {
11
- /**
12
- * @generated from protobuf field: optional webrtc.pb.Message.Flag flag = 1;
13
- */
14
- flag?: Message_Flag;
15
- /**
16
- * @generated from protobuf field: optional bytes message = 2;
17
- */
18
- message?: Uint8Array;
19
- }
20
- /**
21
- * @generated from protobuf enum webrtc.pb.Message.Flag
22
- */
23
- export declare enum Message_Flag {
24
- /**
25
- * The sender will no longer send messages on the stream.
26
- *
27
- * @generated from protobuf enum value: FIN = 0;
28
- */
29
- FIN = 0,
30
- /**
31
- * The sender will no longer read messages on the stream. Incoming data is
32
- * being discarded on receipt.
33
- *
34
- * @generated from protobuf enum value: STOP_SENDING = 1;
35
- */
36
- STOP_SENDING = 1,
37
- /**
38
- * The sender abruptly terminates the sending part of the stream. The
39
- * receiver can discard any data that it already received on that stream.
40
- *
41
- * @generated from protobuf enum value: RESET = 2;
42
- */
43
- RESET = 2
44
- }
45
- declare class Message$Type extends MessageType<Message> {
46
- constructor();
47
- create(value?: PartialMessage<Message>): Message;
48
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Message): Message;
49
- internalBinaryWrite(message: Message, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
50
- }
51
- /**
52
- * @generated MessageType for protobuf message webrtc.pb.Message
53
- */
54
- export declare const Message: Message$Type;
55
- export {};
56
- //# sourceMappingURL=message.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../proto_ts/message.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,UAAU,CAAC;CACxB;AACD;;GAEG;AACH,oBAAY,YAAY;IACpB;;;;OAIG;IACH,GAAG,IAAI;IACP;;;;;OAKG;IACH,YAAY,IAAI;IAChB;;;;;OAKG;IACH,KAAK,IAAI;CACZ;AAED,cAAM,YAAa,SAAQ,WAAW,CAAC,OAAO,CAAC;;IAO3C,MAAM,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,OAAO;IAOhD,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO;IAsBhH,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,GAAG,aAAa;CAY3G;AACD;;GAEG;AACH,eAAO,MAAM,OAAO,cAAqB,CAAC"}