@livedigital/client 3.25.2 → 3.25.3
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/{ChannelStateSynchronizer.d.ts → ChannelStateSynchronyzer/ChannelStateSynchronizer.d.ts} +4 -6
- package/dist/engine/ChannelStateSynchronyzer/types.d.ts +17 -0
- package/dist/engine/DefaultEngineDependenciesFactory.d.ts +1 -1
- package/dist/engine/handlers/ChannelStateSyncEventHandler/ChannelStateConsistencyCheckResult.d.ts +1 -9
- package/dist/engine/handlers/ChannelStateSyncEventHandler/ChannelStateConsistencyChecker.d.ts +0 -7
- package/dist/engine/handlers/ChannelStateSyncEventHandler/index.d.ts +2 -2
- package/dist/engine/handlers/ChannelStateSyncEventHandler/types.d.ts +10 -3
- package/dist/errors/LivedigitalSDKError.d.ts +2 -1
- package/dist/errors/RequestError.d.ts +5 -0
- package/dist/index.es.js +3 -3
- package/dist/index.js +4 -4
- package/dist/types/engine.d.ts +3 -1
- package/package.json +1 -1
- package/src/engine/{ChannelStateSynchronizer.ts → ChannelStateSynchronyzer/ChannelStateSynchronizer.ts} +118 -70
- package/src/engine/ChannelStateSynchronyzer/types.ts +22 -0
- package/src/engine/DefaultEngineDependenciesFactory.ts +3 -1
- package/src/engine/handlers/ChannelStateSyncEventHandler/ChannelStateConsistencyCheckResult.ts +1 -12
- package/src/engine/handlers/ChannelStateSyncEventHandler/ChannelStateConsistencyChecker.ts +3 -40
- package/src/engine/handlers/ChannelStateSyncEventHandler/index.ts +60 -45
- package/src/engine/handlers/ChannelStateSyncEventHandler/types.ts +9 -4
- package/src/engine/index.ts +2 -1
- package/src/engine/media/tracks/PeerTrack.ts +2 -11
- package/src/engine/network/Socket.ts +2 -1
- package/src/engine/network/index.ts +34 -11
- package/src/errors/LivedigitalSDKError.ts +4 -1
- package/src/errors/RequestError.ts +9 -0
- package/src/types/engine.ts +5 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { LogLevel, LogMessageHandler } from '
|
|
2
|
-
import Engine from '
|
|
3
|
-
import {
|
|
1
|
+
import { LogLevel, LogMessageHandler } from '../../types/common';
|
|
2
|
+
import Engine from '../index';
|
|
3
|
+
import { RestoreChannelStateResult } from './types';
|
|
4
4
|
export interface ChannelStateSynchronizerParams {
|
|
5
5
|
engine: Engine;
|
|
6
6
|
logLevel: LogLevel;
|
|
@@ -10,11 +10,9 @@ export interface ChannelStateSynchronizerParams {
|
|
|
10
10
|
declare class ChannelStateSynchronizer {
|
|
11
11
|
#private;
|
|
12
12
|
readonly debouncedRestoreState: <U>(this: U, ...args: Parameters<() => Promise<void>>) => void | Promise<void>;
|
|
13
|
-
readonly debouncedSyncPeerState: <U>(this: U, type: InconsistenceType) => void | Promise<void>;
|
|
14
13
|
constructor({ engine, onLogMessage, logLevel, sendAnalytics, }: ChannelStateSynchronizerParams);
|
|
15
14
|
private watchNetworkState;
|
|
16
|
-
|
|
17
|
-
private restoreState;
|
|
15
|
+
restoreState(): Promise<RestoreChannelStateResult>;
|
|
18
16
|
private restoreRemoteProducersState;
|
|
19
17
|
private removeUnnecessaryPeers;
|
|
20
18
|
private setMissingPeers;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface RestoredProducersStateResult {
|
|
2
|
+
removedProducers: string[];
|
|
3
|
+
fixedProducersState: string[];
|
|
4
|
+
}
|
|
5
|
+
export interface RestoredTracksResult {
|
|
6
|
+
missingProducers: string[];
|
|
7
|
+
fixedProducersState: string[];
|
|
8
|
+
fixedConsumersState: string[];
|
|
9
|
+
}
|
|
10
|
+
export interface RestoredLocalPeersStateResult extends RestoredTracksResult {
|
|
11
|
+
removedProducers: string[];
|
|
12
|
+
restoredAppDataPeers: string[];
|
|
13
|
+
}
|
|
14
|
+
export declare type RestoreChannelStateResult = {
|
|
15
|
+
removedPeers: string[];
|
|
16
|
+
missingPeers: string[];
|
|
17
|
+
} & RestoredProducersStateResult & RestoredTracksResult & RestoredLocalPeersStateResult;
|
|
@@ -7,7 +7,7 @@ import MediaSoupEventHandler from './handlers/MediaSoupEventHandler';
|
|
|
7
7
|
import { CreateIssueDetectorParams, CreateMediaParams, CreateMediaSoupEventHandlerParams, CreateNetworkParams, CreateSystemParams, ChannelStateSyncEventHandlerParams, EngineDependenciesFactory } from '../types/engine';
|
|
8
8
|
import ChannelAudioObserverEventHandler from './handlers/ChannelAudioObserverEventHandler';
|
|
9
9
|
import ChannelStateSyncEventHandler from './handlers/ChannelStateSyncEventHandler';
|
|
10
|
-
import ChannelStateSynchronizer, { ChannelStateSynchronizerParams } from './ChannelStateSynchronizer';
|
|
10
|
+
import ChannelStateSynchronizer, { ChannelStateSynchronizerParams } from './ChannelStateSynchronyzer/ChannelStateSynchronizer';
|
|
11
11
|
declare class DefaultEngineDependenciesFactory implements EngineDependenciesFactory {
|
|
12
12
|
createSystem(params: CreateSystemParams): System;
|
|
13
13
|
createMedia(params: CreateMediaParams): Media;
|
package/dist/engine/handlers/ChannelStateSyncEventHandler/ChannelStateConsistencyCheckResult.d.ts
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
missingPeers: string[];
|
|
3
|
-
missingConsumers: string[];
|
|
4
|
-
missingProducers: string[];
|
|
5
|
-
consumersWithInconsistentState: string[];
|
|
6
|
-
producersWithInconsistentState: string[];
|
|
7
|
-
peersWithInconsistentAppData: string[];
|
|
8
|
-
}
|
|
1
|
+
import { ChannelStateConsistencyCheckResultsParams } from './types';
|
|
9
2
|
declare class ChannelStateConsistencyCheckResult {
|
|
10
3
|
readonly missingPeers: string[];
|
|
11
|
-
readonly missingConsumers: string[];
|
|
12
4
|
readonly missingProducers: string[];
|
|
13
5
|
readonly consumersWithInconsistentState: string[];
|
|
14
6
|
readonly producersWithInconsistentState: string[];
|
package/dist/engine/handlers/ChannelStateSyncEventHandler/ChannelStateConsistencyChecker.d.ts
CHANGED
|
@@ -3,14 +3,11 @@ import ChannelStateConsistencyCheckResult from './ChannelStateConsistencyCheckRe
|
|
|
3
3
|
interface ChannelStateConsistencyCheckerParams {
|
|
4
4
|
localState: ChannelState;
|
|
5
5
|
remoteState: ChannelState;
|
|
6
|
-
ignoreIds: string[];
|
|
7
6
|
}
|
|
8
7
|
declare class ChannelStateConsistencyChecker {
|
|
9
8
|
private readonly localState;
|
|
10
9
|
private readonly remoteState;
|
|
11
|
-
private readonly ignoreIds;
|
|
12
10
|
private missingPeers;
|
|
13
|
-
private missingConsumers;
|
|
14
11
|
private missingProducers;
|
|
15
12
|
private consumersWithInconsistentState;
|
|
16
13
|
private producersWithInconsistentState;
|
|
@@ -18,10 +15,6 @@ declare class ChannelStateConsistencyChecker {
|
|
|
18
15
|
constructor(params: ChannelStateConsistencyCheckerParams);
|
|
19
16
|
check(): ChannelStateConsistencyCheckResult;
|
|
20
17
|
getMissingPeers(): string[];
|
|
21
|
-
/**
|
|
22
|
-
* Contains list of remote producer ids for which local consumer is missing
|
|
23
|
-
*/
|
|
24
|
-
getMissingConsumers(): string[];
|
|
25
18
|
getMissingProducers(): string[];
|
|
26
19
|
getConsumersWithInconsistentState(): string[];
|
|
27
20
|
getProducersWithInconsistentState(): string[];
|
|
@@ -18,16 +18,16 @@ declare class ChannelStateSyncEventHandler {
|
|
|
18
18
|
private rotateLastProbableInconsistencyCheckResults;
|
|
19
19
|
private isReachedMaxCheckRetries;
|
|
20
20
|
private getConfirmedMissingPeers;
|
|
21
|
-
private getConfirmedMissingConsumers;
|
|
22
21
|
private getConfirmedMissingProducers;
|
|
23
22
|
private getConfirmedConsumersWithInconsistencState;
|
|
24
23
|
private getConfirmedProducersWithInconsistencState;
|
|
25
24
|
private getConfirmedPeersWithInconsistentAppData;
|
|
26
25
|
private parseChannelStateSyncEventPayload;
|
|
27
|
-
private getAllConfirmedInconsistentEntityIds;
|
|
28
26
|
private getLocalState;
|
|
29
27
|
private getIsConnectionActive;
|
|
30
28
|
private listenNetworkScoresUpdatedEvents;
|
|
31
29
|
private isBadNetworkScore;
|
|
30
|
+
private compareCheckedAndRestoredResults;
|
|
31
|
+
private isRestoreStateRequestToEarly;
|
|
32
32
|
}
|
|
33
33
|
export default ChannelStateSyncEventHandler;
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
export declare enum InconsistenceType {
|
|
2
2
|
MissingPeer = "missing-peer",
|
|
3
|
-
MissingConsumers = "missing-consumers",
|
|
4
3
|
MissingProducer = "missing-producer",
|
|
5
4
|
IncorrectProducerState = "incorrect-producer-state",
|
|
6
|
-
IncorrectConsumerState = "incorrect-consumer-state"
|
|
5
|
+
IncorrectConsumerState = "incorrect-consumer-state",
|
|
6
|
+
IncorrectAppData = "incorrect-app-data"
|
|
7
|
+
}
|
|
8
|
+
export declare type StorageKey = 'missingPeers' | 'missingProducers' | 'consumersWithInconsistentState' | 'producersWithInconsistentState' | 'peersWithInconsistentAppData';
|
|
9
|
+
export interface ChannelStateConsistencyCheckResultsParams {
|
|
10
|
+
missingPeers: string[];
|
|
11
|
+
missingProducers: string[];
|
|
12
|
+
consumersWithInconsistentState: string[];
|
|
13
|
+
producersWithInconsistentState: string[];
|
|
14
|
+
peersWithInconsistentAppData: string[];
|
|
7
15
|
}
|
|
8
|
-
export declare type StorageKey = 'missingPeers' | 'missingConsumers' | 'missingProducers' | 'consumersWithInconsistentState' | 'producersWithInconsistentState' | 'peersWithInconsistentAppData';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
declare class LivedigitalSDKError extends Error {
|
|
2
2
|
readonly errorCode: string;
|
|
3
|
-
|
|
3
|
+
readonly meta?: Record<string, unknown>;
|
|
4
|
+
constructor(msg?: string, errorCode?: string, meta?: Record<string, unknown>);
|
|
4
5
|
}
|
|
5
6
|
export default LivedigitalSDKError;
|