@livedigital/client 3.44.3 → 3.44.4
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/dist/engine/network/index.d.ts +3 -2
- package/dist/index.es.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/src/engine/index.ts +2 -4
- package/src/engine/network/index.ts +33 -9
package/package.json
CHANGED
package/src/engine/index.ts
CHANGED
|
@@ -135,7 +135,6 @@ class Engine {
|
|
|
135
135
|
const [sendTransport, recvTransport] = await Promise.all([
|
|
136
136
|
this.network.createSendTransport(this.media.mediasoupDevice),
|
|
137
137
|
this.network.createRecvTransport(this.media.mediasoupDevice),
|
|
138
|
-
// @INFO: un-comment to enable signaling tcp transport connection
|
|
139
138
|
this.network.createSignalingTransport(this.media.mediasoupDevice),
|
|
140
139
|
]);
|
|
141
140
|
|
|
@@ -160,9 +159,8 @@ class Engine {
|
|
|
160
159
|
recvTransportId: this.network.receiveTransport?.id,
|
|
161
160
|
});
|
|
162
161
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
await this.network.createSignalingConsumer();
|
|
162
|
+
await this.network.createHeartbeatProducer();
|
|
163
|
+
await this.network.createKeepAliveConsumer();
|
|
166
164
|
} catch (error: unknown) {
|
|
167
165
|
this.#logger.error('initialize()', { error });
|
|
168
166
|
|
|
@@ -62,7 +62,7 @@ class Network {
|
|
|
62
62
|
|
|
63
63
|
public receiveTransport?: Transport;
|
|
64
64
|
|
|
65
|
-
public
|
|
65
|
+
public heartbeatDataProducer?: types.DataProducer;
|
|
66
66
|
|
|
67
67
|
public signalingTransport?: Transport;
|
|
68
68
|
|
|
@@ -132,7 +132,7 @@ class Network {
|
|
|
132
132
|
|
|
133
133
|
public reset(): void {
|
|
134
134
|
this.signalingHeartbeater.dispose();
|
|
135
|
-
this.
|
|
135
|
+
this.heartbeatDataProducer = undefined;
|
|
136
136
|
this.stopRestartIceAttempts();
|
|
137
137
|
this.removeEventListeners();
|
|
138
138
|
}
|
|
@@ -333,12 +333,12 @@ class Network {
|
|
|
333
333
|
};
|
|
334
334
|
}
|
|
335
335
|
|
|
336
|
-
async
|
|
337
|
-
const transport = this.
|
|
336
|
+
async createHeartbeatProducer(): Promise<void> {
|
|
337
|
+
const transport = this.sendTransport;
|
|
338
338
|
|
|
339
339
|
if (!transport) {
|
|
340
|
-
this.#logger.error('
|
|
341
|
-
throw new Error('Failed to create data
|
|
340
|
+
this.#logger.error('createHeartbeatProducer()', { reason: 'missing send transport' });
|
|
341
|
+
throw new Error('Failed to create data producer');
|
|
342
342
|
}
|
|
343
343
|
|
|
344
344
|
const dataProducer = await transport.produceData({
|
|
@@ -346,17 +346,41 @@ class Network {
|
|
|
346
346
|
protocol: 'heartbeat',
|
|
347
347
|
});
|
|
348
348
|
|
|
349
|
-
this.
|
|
349
|
+
this.heartbeatDataProducer = dataProducer;
|
|
350
350
|
|
|
351
351
|
dataProducer.once('transportclose', () => {
|
|
352
|
-
this.
|
|
353
|
-
this.
|
|
352
|
+
this.heartbeatDataProducer?.close();
|
|
353
|
+
this.heartbeatDataProducer = undefined;
|
|
354
354
|
this.signalingHeartbeater.dispose();
|
|
355
355
|
});
|
|
356
356
|
|
|
357
357
|
this.signalingHeartbeater.init(transport, dataProducer);
|
|
358
358
|
}
|
|
359
359
|
|
|
360
|
+
// only for tcp transport connection
|
|
361
|
+
async createKeepAliveConsumer(): Promise<void> {
|
|
362
|
+
const transport = this.signalingTransport;
|
|
363
|
+
|
|
364
|
+
if (!transport) {
|
|
365
|
+
this.#logger.error('createKeepAliveConsumer()', { reason: 'missing signaling transport' });
|
|
366
|
+
|
|
367
|
+
return;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
const dataProducer = await transport.produceData({
|
|
371
|
+
label: 'consumers-scores',
|
|
372
|
+
protocol: 'keepalive',
|
|
373
|
+
});
|
|
374
|
+
|
|
375
|
+
dataProducer.once('open', () => {
|
|
376
|
+
dataProducer.send(new Uint8Array(0));
|
|
377
|
+
});
|
|
378
|
+
|
|
379
|
+
dataProducer.once('transportclose', () => {
|
|
380
|
+
dataProducer.close();
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
|
|
360
384
|
get channelMessagesDataConsumer(): types.DataConsumer | undefined {
|
|
361
385
|
return this.dataChannelsManager.channelMessagesDataConsumer;
|
|
362
386
|
}
|