@vkontakte/calls-sdk 2.8.12-dev.a3089173.0 → 2.8.12-dev.bcb53bc3.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/CallsSDK.d.ts +8 -4
- package/abstract/BaseApi.d.ts +1 -1
- package/calls-sdk.cjs.js +9 -9
- package/calls-sdk.esm.js +1921 -1324
- package/classes/CallRegistry.d.ts +4 -0
- package/classes/Conversation.d.ts +7 -5
- package/classes/DisplayLayoutRequester.d.ts +1 -1
- package/classes/stat/CallFinishClassifier.d.ts +11 -0
- package/classes/stat/CallLifecycleStats.d.ts +1 -2
- package/classes/transport/Transport.d.ts +3 -0
- package/default/Api.d.ts +2 -3
- package/default/Signaling.d.ts +4 -2
- package/default/SignalingTransport.d.ts +1 -0
- package/enums/HangupType.d.ts +0 -1
- package/package.json +2 -2
- package/static/AuthData.d.ts +10 -0
- package/static/External.d.ts +1 -1
- package/static/Params.d.ts +14 -2
- package/static/WebRTCUtils.d.ts +4 -0
- package/types/SignalingMessage.d.ts +4 -1
- package/types/WebTransport.d.ts +14 -15
|
@@ -6,8 +6,11 @@ export interface HoldableConversation extends Conversation {
|
|
|
6
6
|
}
|
|
7
7
|
export declare class CallRegistry {
|
|
8
8
|
private _conversations;
|
|
9
|
+
private _reserved;
|
|
9
10
|
private _activeId;
|
|
10
11
|
private _mutex;
|
|
12
|
+
private _pendingRemovals;
|
|
13
|
+
reserve(id: string): void;
|
|
11
14
|
add(conversation: HoldableConversation): void;
|
|
12
15
|
remove(id: string | null): void;
|
|
13
16
|
get(id: string): HoldableConversation | undefined;
|
|
@@ -21,6 +24,7 @@ export declare class CallRegistry {
|
|
|
21
24
|
setHold(id: string): Promise<void>;
|
|
22
25
|
switchCall(id: string): Promise<void>;
|
|
23
26
|
clear(): void;
|
|
27
|
+
private _flushPendingRemovals;
|
|
24
28
|
}
|
|
25
29
|
declare const callRegistry: CallRegistry;
|
|
26
30
|
export { callRegistry };
|
|
@@ -19,7 +19,7 @@ import MediaModifiers from '../types/MediaModifiers';
|
|
|
19
19
|
import MediaSettings, { IVideoDimentions } from '../types/MediaSettings';
|
|
20
20
|
import { IAddMovieParams, IUpdateMovieData } from '../types/MovieShare';
|
|
21
21
|
import MuteStates from '../types/MuteStates';
|
|
22
|
-
import { CompositeUserId, IGetParticipantsParameters, ParticipantId, ParticipantStateData } from '../types/Participant';
|
|
22
|
+
import { CompositeUserId, IGetParticipantsParameters, OkUserId, ParticipantId, ParticipantStateData } from '../types/Participant';
|
|
23
23
|
import { DisplayLayoutRequest, ParticipantLayout } from '../types/ParticipantLayout';
|
|
24
24
|
import { ParticipantListChunkParameters } from '../types/ParticipantListChunk';
|
|
25
25
|
import ParticipantPriority from '../types/ParticipantPriority';
|
|
@@ -60,6 +60,7 @@ export default class Conversation extends EventEmitter {
|
|
|
60
60
|
private _abortController;
|
|
61
61
|
private _registeredPeerReceived;
|
|
62
62
|
private _calleeUnavailableTimer;
|
|
63
|
+
private _reservedId;
|
|
63
64
|
private readonly _onUnload;
|
|
64
65
|
private readonly _audioOutput;
|
|
65
66
|
private readonly _stats;
|
|
@@ -86,12 +87,13 @@ export default class Conversation extends EventEmitter {
|
|
|
86
87
|
static debugMessageWithContext(type: DebugMessageType, conversationId: string, ...args: any[]): boolean;
|
|
87
88
|
static getSyncedTime(): number;
|
|
88
89
|
get debugSessionId(): string | null;
|
|
90
|
+
getCachedRawOkIdByExternalId(externalId: ExternalId): OkUserId | null;
|
|
89
91
|
onStart({ opponentIds, opponentType, mediaOptions, payload, joiningAllowed, requireAuthToJoin, onlyAdminCanShareMovie, externalIds, onFastStart, conversationId, }: ConversationOnStartParams): Promise<ConversationData>;
|
|
90
92
|
onJoin(joinArgs: ConversationOnJoinParams): Promise<ConversationData>;
|
|
91
93
|
private _onJoinPart2;
|
|
92
94
|
private _extractExternalRooms;
|
|
93
95
|
private _extractExternalRoomsData;
|
|
94
|
-
onPush(conversationId: string, type?: UserType, peerId?: number, conversationParams?: string, wsEndpoint?: string): Promise<void>;
|
|
96
|
+
onPush(conversationId: string, type?: UserType, peerId?: number, conversationParams?: string, wsEndpoint?: string, userId?: number): Promise<void>;
|
|
95
97
|
private _isInWaitingHall;
|
|
96
98
|
private _isWaitForAdmin;
|
|
97
99
|
private _isRestricted;
|
|
@@ -110,8 +112,9 @@ export default class Conversation extends EventEmitter {
|
|
|
110
112
|
updateStatisticsInterval(): void;
|
|
111
113
|
private _openTransport;
|
|
112
114
|
private _allocateParticipantTransport;
|
|
115
|
+
private _cleanupRegistry;
|
|
113
116
|
private _close;
|
|
114
|
-
destroy(): void
|
|
117
|
+
destroy(): Promise<void>;
|
|
115
118
|
private _getConversationParams;
|
|
116
119
|
private _setConversationParams;
|
|
117
120
|
private _buildSignalingEndpoint;
|
|
@@ -153,7 +156,6 @@ export default class Conversation extends EventEmitter {
|
|
|
153
156
|
private _getExistedParticipantByIdOrCreate;
|
|
154
157
|
private _getExternalIdByParticipantId;
|
|
155
158
|
private _getExternalIdsByOkIdsFromCache;
|
|
156
|
-
private _getOrCacheExternalIdByCompositeId;
|
|
157
159
|
private _registerParticipantAndSetMarkersIfChunkEnabled;
|
|
158
160
|
private _warnParticipantNotInConversation;
|
|
159
161
|
private _denormalizeMarkers;
|
|
@@ -358,7 +360,7 @@ export default class Conversation extends EventEmitter {
|
|
|
358
360
|
private _onRecordInfo;
|
|
359
361
|
private _onStopRecordInfo;
|
|
360
362
|
private _changePinnedParticipantForRoom;
|
|
361
|
-
_changeRecordInfoForRoom(): void
|
|
363
|
+
_changeRecordInfoForRoom(): Promise<void>;
|
|
362
364
|
private _changeAsrInfoForRoom;
|
|
363
365
|
private _changeUrlSharingInfoForRoom;
|
|
364
366
|
private _onParticipantAnimojiChanged;
|
|
@@ -5,7 +5,7 @@ import { Participant, ParticipantId } from '../types/Participant';
|
|
|
5
5
|
type DisplayLayoutRequesterParams = {
|
|
6
6
|
api: BaseApi;
|
|
7
7
|
debug: DebugLogger;
|
|
8
|
-
getParticipants: () => Record<ParticipantId, Participant
|
|
8
|
+
getParticipants: () => Promise<Record<ParticipantId, Participant>>;
|
|
9
9
|
isMe: (participantId: ParticipantId) => boolean;
|
|
10
10
|
updateDisplayLayout: (layouts: ParticipantLayout[]) => Promise<void>;
|
|
11
11
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type SemanticCallFinishReason = 'hangup' | 'canceled' | 'rejected' | 'busy' | 'missed' | 'timeout' | 'another_device' | 'removed' | 'banned' | 'initially_closed' | 'call_timeout' | 'socket_closed' | 'killed' | 'killed_without_delete' | 'obsolete_client' | 'unavailable';
|
|
2
|
+
export type ClassifiedCallFinish = {
|
|
3
|
+
reason: SemanticCallFinishReason;
|
|
4
|
+
string_value?: string;
|
|
5
|
+
} | {
|
|
6
|
+
reason: 'error';
|
|
7
|
+
string_value: string;
|
|
8
|
+
} | {
|
|
9
|
+
reason: 'failed';
|
|
10
|
+
};
|
|
11
|
+
export declare function classifyCallFinish(error: unknown): ClassifiedCallFinish;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import HangupReason from '../HangupReason';
|
|
2
1
|
import StatsLogger from '../StatsLogger';
|
|
3
2
|
export type CallLifecycleSource = 'outgoing' | 'incoming' | 'join' | 'anonym_join';
|
|
4
3
|
export interface CallLifecycleInitializationParams {
|
|
@@ -34,7 +33,7 @@ export declare class CallLifecycleStats {
|
|
|
34
33
|
markOutgoingAccepted(): void;
|
|
35
34
|
markIncomingAccepted(concurrent: boolean): void;
|
|
36
35
|
markFirstMediaSent(): void;
|
|
37
|
-
markFinished(reason:
|
|
36
|
+
markFinished(reason: unknown): void;
|
|
38
37
|
markTerminated(): void;
|
|
39
38
|
destroy(): void;
|
|
40
39
|
private _canRecord;
|
|
@@ -50,6 +50,7 @@ export declare class Transport extends EventEmitter {
|
|
|
50
50
|
private readonly _codecStatsAggregator;
|
|
51
51
|
private readonly _onFirstMediaSent;
|
|
52
52
|
private _firstMediaSentProbeStopped;
|
|
53
|
+
private _vadController;
|
|
53
54
|
constructor(topology: TransportTopology, signaling: BaseSignaling, mediaSource: MediaSource, serverSettings: ServerSettings, debug?: DebugLogger, logger?: StatsLogger | null, statAggregator?: StatAggregator | null, codecStatsAggregator?: CodecStatsAggregator | null, onFirstMediaSent?: (() => void) | null);
|
|
54
55
|
updateSettings(settings: ServerSettings): void;
|
|
55
56
|
updateStatisticsInterval(): void;
|
|
@@ -96,6 +97,8 @@ export declare class Transport extends EventEmitter {
|
|
|
96
97
|
private _onAnimojiStream;
|
|
97
98
|
/** Обработчик, досылающий MediaSourceEvent.SOURCE_CHANGED событие до аллокации транспортов */
|
|
98
99
|
private _onAnimojiStatus;
|
|
100
|
+
private _createVad;
|
|
101
|
+
private _updateVadTrack;
|
|
99
102
|
private _createAnimojiTransport;
|
|
100
103
|
private _removeAnimojiTransport;
|
|
101
104
|
getStreamWaitingTimeMs(streamId: string, targetRtpTimestamp: number): number;
|
package/default/Api.d.ts
CHANGED
|
@@ -7,12 +7,11 @@ import { ExternalId, ExternalParticipantId, ExternalUserId } from '../types/Exte
|
|
|
7
7
|
import { CompositeUserId, OkUserId, ParticipantId } from '../types/Participant';
|
|
8
8
|
import PushData from '../types/PushData';
|
|
9
9
|
export default class Api extends BaseApi {
|
|
10
|
-
private _userId;
|
|
11
10
|
private _uuid;
|
|
12
11
|
private _idCache;
|
|
13
12
|
private _callUnsafe;
|
|
14
|
-
protected _call(method: string, data?: any, noSession?: boolean): Promise<any>;
|
|
15
|
-
userId(participantId: ParticipantId): ExternalParticipantId
|
|
13
|
+
protected _call(method: string, data?: any, noSession?: boolean, allowReauthorize?: boolean): Promise<any>;
|
|
14
|
+
userId(participantId: ParticipantId): Promise<ExternalParticipantId>;
|
|
16
15
|
authorize(): Promise<void>;
|
|
17
16
|
private _getAnonymLoginCacheKey;
|
|
18
17
|
private _getCachedAnonymLogin;
|
package/default/Signaling.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import BaseSignaling, { AddParticipantParams } from '../abstract/BaseSignaling';
|
|
2
|
-
import StatsLogger from '../classes/StatsLogger';
|
|
3
2
|
import { ParticipantIdRegistry } from '../classes/ParticipantIdRegistry';
|
|
4
3
|
import { SharingStatReport } from '../classes/screenshare/SharingStatReport';
|
|
5
4
|
import { StatAggregator } from '../classes/stat/StatAggregator';
|
|
6
5
|
import { StatPings } from '../classes/stat/StatPings';
|
|
7
6
|
import { StatSignalingCommands } from '../classes/stat/StatSignalingCommands';
|
|
8
|
-
import
|
|
7
|
+
import StatsLogger from '../classes/StatsLogger';
|
|
9
8
|
import ConversationFeature from '../enums/ConversationFeature';
|
|
10
9
|
import ConversationOption from '../enums/ConversationOption';
|
|
11
10
|
import MediaOption from '../enums/MediaOption';
|
|
12
11
|
import SignalingConnectionType from '../enums/SignalingConnectionType';
|
|
12
|
+
import TransportTopology from '../enums/TransportTopology';
|
|
13
13
|
import UserRole from '../enums/UserRole';
|
|
14
14
|
import { type DebugLogger } from '../static/Debug';
|
|
15
15
|
import { JSONObject } from '../static/Json';
|
|
@@ -187,6 +187,8 @@ export default class Signaling extends BaseSignaling {
|
|
|
187
187
|
private _onTransportFailed;
|
|
188
188
|
private _onTransportReconnectScheduled;
|
|
189
189
|
private _onTransportConnectionDead;
|
|
190
|
+
private _attachNotificationCallError;
|
|
191
|
+
private _createSignalingCallError;
|
|
190
192
|
private _getSocketType;
|
|
191
193
|
private _markTransportStat;
|
|
192
194
|
private _logTransportStat;
|
|
@@ -9,6 +9,7 @@ export declare enum SignalingTransportFailure {
|
|
|
9
9
|
export type SignalingTransportFailedEvent = {
|
|
10
10
|
failure: SignalingTransportFailure;
|
|
11
11
|
message: string;
|
|
12
|
+
source: SignalingTransportType;
|
|
12
13
|
remote?: boolean;
|
|
13
14
|
};
|
|
14
15
|
export type SignalingTransportReconnectEvent = {
|
package/enums/HangupType.d.ts
CHANGED
|
@@ -20,7 +20,6 @@ declare enum HangupType {
|
|
|
20
20
|
CALLER_IS_REJECTED = "CALLER_IS_REJECTED",
|
|
21
21
|
UNKNOWN_ERROR = "UNKNOWN_ERROR",
|
|
22
22
|
UNSUPPORTED = "UNSUPPORTED",
|
|
23
|
-
OLD_VERSION = "OLD_VERSION",
|
|
24
23
|
SERVICE_DISABLED = "SERVICE_DISABLED",
|
|
25
24
|
SERVICE_UNAVAILABLE = "SERVICE_UNAVAILABLE",
|
|
26
25
|
EXTERNAL_API_ERROR = "EXTERNAL_API_ERROR",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vkontakte/calls-sdk",
|
|
3
|
-
"version": "2.8.12-dev.
|
|
3
|
+
"version": "2.8.12-dev.bcb53bc3.0",
|
|
4
4
|
"author": "vk.com",
|
|
5
5
|
"description": "Library for video calls based on the vk.com platform",
|
|
6
6
|
"homepage": "https://vk.com",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"**/*.d.ts"
|
|
15
15
|
],
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@vkontakte/calls-audio-effects": "1.2.
|
|
17
|
+
"@vkontakte/calls-audio-effects": "1.2.10-dev.7750ad9a.0",
|
|
18
18
|
"@vkontakte/calls-video-effects": "2.2.3-beta.7",
|
|
19
19
|
"@vkontakte/calls-vmoji": "1.0.10-beta.17",
|
|
20
20
|
"@vkontakte/libvpx": "2.0.9",
|
package/static/AuthData.d.ts
CHANGED
|
@@ -1,12 +1,22 @@
|
|
|
1
|
+
import type { OkUserId } from '../types/Participant';
|
|
1
2
|
export default abstract class AuthData {
|
|
2
3
|
private static _sessionKey;
|
|
3
4
|
private static _sessionSecretKey;
|
|
4
5
|
private static _accessToken;
|
|
6
|
+
private static _userId;
|
|
7
|
+
private static _reauthorizePromise;
|
|
5
8
|
static get sessionKey(): string | undefined;
|
|
6
9
|
static set sessionKey(value: string | undefined);
|
|
7
10
|
static get sessionSecretKey(): string | undefined;
|
|
8
11
|
static set sessionSecretKey(value: string | undefined);
|
|
9
12
|
static get accessToken(): string | undefined;
|
|
10
13
|
static set accessToken(value: string | undefined);
|
|
14
|
+
static get userId(): OkUserId | null;
|
|
15
|
+
static set userId(value: OkUserId | null);
|
|
11
16
|
static isEmpty(): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Дедуплицирует одновременные попытки реавторизации из разных инстансов Api.
|
|
19
|
+
* Первый вызов выполняет authorizeFn, остальные ждут того же промиса.
|
|
20
|
+
*/
|
|
21
|
+
static reauthorize(authorizeFn: () => Promise<void>): Promise<void>;
|
|
12
22
|
}
|
package/static/External.d.ts
CHANGED
|
@@ -637,6 +637,6 @@ declare namespace External {
|
|
|
637
637
|
/**
|
|
638
638
|
* Собеседник подключился к сигналлингу
|
|
639
639
|
*/
|
|
640
|
-
function onPeerRegistered(conversationId?: string): void;
|
|
640
|
+
function onPeerRegistered(conversationId?: string, externalIds?: ExternalId[]): void;
|
|
641
641
|
}
|
|
642
642
|
export default External;
|
package/static/Params.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { VideoEffects } from '@vkontakte/calls-video-effects';
|
|
2
|
-
import type { EffectVoiceChange } from '@vkontakte/calls-audio-effects';
|
|
2
|
+
import type { EffectVoiceChange, VadControllerOptions, VadLib } from '@vkontakte/calls-audio-effects';
|
|
3
3
|
import type * as Vmoji from '@vkontakte/calls-vmoji';
|
|
4
4
|
import { IAsrData } from '../types/Asr';
|
|
5
5
|
import { ConversationData } from '../types/Conversation';
|
|
@@ -193,6 +193,14 @@ export type ParamsObject = {
|
|
|
193
193
|
* Можно установить позднее методом `setAudioEffects`
|
|
194
194
|
*/
|
|
195
195
|
audioEffects: EffectVoiceChange | null;
|
|
196
|
+
/**
|
|
197
|
+
* Namespace библиотеки VAD из `@vkontakte/calls-audio-effects`.
|
|
198
|
+
*
|
|
199
|
+
* Можно установить методом `setVad`
|
|
200
|
+
*/
|
|
201
|
+
vad: VadLib | null;
|
|
202
|
+
/** Настройки VAD (threshold, hangoverMs, enabled) */
|
|
203
|
+
vadOptions: VadControllerOptions;
|
|
196
204
|
/**
|
|
197
205
|
* Максимальная ширина видео в пикселях для видео эффекта
|
|
198
206
|
*
|
|
@@ -892,7 +900,7 @@ export type ParamsObject = {
|
|
|
892
900
|
/**
|
|
893
901
|
* Собеседник подключился к сигналлингу
|
|
894
902
|
*/
|
|
895
|
-
onPeerRegistered?: (conversationId?: string) => void;
|
|
903
|
+
onPeerRegistered?: (conversationId?: string, externalIds?: ExternalId[]) => void;
|
|
896
904
|
};
|
|
897
905
|
export default abstract class Params {
|
|
898
906
|
private static _params;
|
|
@@ -960,6 +968,10 @@ export default abstract class Params {
|
|
|
960
968
|
static get displaySurface(): DisplayCaptureSurfaceType;
|
|
961
969
|
static get audioEffects(): EffectVoiceChange | null;
|
|
962
970
|
static set audioEffects(value: EffectVoiceChange | null);
|
|
971
|
+
static get vad(): VadLib | null;
|
|
972
|
+
static set vad(value: VadLib | null);
|
|
973
|
+
static get vadOptions(): VadControllerOptions;
|
|
974
|
+
static set vadOptions(value: VadControllerOptions);
|
|
963
975
|
static get videoEffects(): VideoEffects | null;
|
|
964
976
|
static set videoEffects(value: VideoEffects | null);
|
|
965
977
|
static get videoEffectMaxWidth(): number;
|
package/static/WebRTCUtils.d.ts
CHANGED
|
@@ -122,6 +122,10 @@ declare namespace WebRTCUtils {
|
|
|
122
122
|
* Проверяет поддержку WebRTC браузером
|
|
123
123
|
*/
|
|
124
124
|
function isBrowserSupported(): boolean;
|
|
125
|
+
/**
|
|
126
|
+
* Возвращает первую отсутствующую capability в стабильном порядке.
|
|
127
|
+
*/
|
|
128
|
+
function getBrowserSupportFailure(): BrowserSupportFailure | null;
|
|
125
129
|
/**
|
|
126
130
|
* Проверяет поддержку шаринга экрана браузером
|
|
127
131
|
*/
|
|
@@ -34,8 +34,11 @@ export type RecordInfo = {
|
|
|
34
34
|
recordExternalOwnerId?: string;
|
|
35
35
|
};
|
|
36
36
|
export interface SignalingResponse extends SignalingMessage {
|
|
37
|
-
response?: SignalingCommandType;
|
|
38
37
|
error?: string;
|
|
38
|
+
errorCode?: string;
|
|
39
|
+
errorMessage?: string;
|
|
40
|
+
message?: string;
|
|
41
|
+
response?: SignalingCommandType;
|
|
39
42
|
reason?: HangupType | FatalError;
|
|
40
43
|
sequence?: number;
|
|
41
44
|
type: 'response' | 'error' | 'timeout';
|
package/types/WebTransport.d.ts
CHANGED
|
@@ -1,33 +1,32 @@
|
|
|
1
1
|
import { WebTransportOptions } from '@fails-components/webtransport';
|
|
2
2
|
import { DebugLogger } from '../static/Debug';
|
|
3
3
|
declare class WebTransportEventual {
|
|
4
|
+
static isBrowserSupported(): boolean;
|
|
5
|
+
onopen: ((this: WebTransportEventual, ev: Event) => any) | null;
|
|
6
|
+
onmessage: ((this: WebTransportEventual, ev: MessageEvent) => any) | null;
|
|
7
|
+
onerror: ((this: WebTransportEventual, ev: Event) => any) | null;
|
|
8
|
+
onclose: ((this: WebTransportEventual, ev: CloseEvent) => any) | null;
|
|
9
|
+
readyState: number;
|
|
4
10
|
private webTransport;
|
|
5
|
-
private stream;
|
|
6
11
|
private writer;
|
|
7
|
-
private reader;
|
|
8
12
|
private readonly url;
|
|
9
13
|
private readonly options;
|
|
10
14
|
private readonly compression;
|
|
11
|
-
private closeRequested;
|
|
12
|
-
private closeEventEmitted;
|
|
13
15
|
private encoder;
|
|
14
16
|
private decoder;
|
|
15
17
|
private readonly _debug;
|
|
16
|
-
onopen: ((this: WebTransportEventual, ev: Event) => any) | null;
|
|
17
|
-
onmessage: ((this: WebTransportEventual, ev: MessageEvent) => any) | null;
|
|
18
|
-
onerror: ((this: WebTransportEventual, ev: Event) => any) | null;
|
|
19
|
-
onclose: ((this: WebTransportEventual, ev: CloseEvent) => any) | null;
|
|
20
|
-
readyState: number;
|
|
21
18
|
constructor(url: string, options?: WebTransportOptions, debug?: DebugLogger);
|
|
19
|
+
send(data: string): Promise<void>;
|
|
20
|
+
close(code?: number, reason?: string): void;
|
|
22
21
|
private getCompressionTypeFromUrl;
|
|
23
22
|
private connect;
|
|
24
|
-
private
|
|
23
|
+
private observeClosed;
|
|
25
24
|
private readLoop;
|
|
26
|
-
|
|
25
|
+
private fail;
|
|
26
|
+
private handleStreamError;
|
|
27
|
+
private requestNativeClose;
|
|
28
|
+
private finishClose;
|
|
29
|
+
private emitEvent;
|
|
27
30
|
private createErrorEvent;
|
|
28
|
-
close(code?: number, reason?: string): void;
|
|
29
|
-
private closeConnectedTransport;
|
|
30
|
-
private emitClose;
|
|
31
|
-
static isBrowserSupported(): boolean;
|
|
32
31
|
}
|
|
33
32
|
export { WebTransportEventual as WebTransport };
|