@agentdance/node-webrtc-ice 1.0.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/dist/agent.d.ts +77 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +689 -0
- package/dist/agent.js.map +1 -0
- package/dist/candidate.d.ts +9 -0
- package/dist/candidate.d.ts.map +1 -0
- package/dist/candidate.js +139 -0
- package/dist/candidate.js.map +1 -0
- package/dist/checklist.d.ts +10 -0
- package/dist/checklist.d.ts.map +1 -0
- package/dist/checklist.js +102 -0
- package/dist/checklist.js.map +1 -0
- package/dist/gather.d.ts +15 -0
- package/dist/gather.d.ts.map +1 -0
- package/dist/gather.js +169 -0
- package/dist/gather.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/transport.d.ts +21 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +70 -0
- package/dist/transport.js.map +1 -0
- package/dist/types.d.ts +77 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +27 -0
- package/dist/types.js.map +1 -0
- package/package.json +59 -0
- package/src/agent.ts +961 -0
- package/src/candidate.ts +175 -0
- package/src/checklist.ts +142 -0
- package/src/gather.ts +224 -0
- package/src/index.ts +6 -0
- package/src/transport.ts +88 -0
- package/src/types.ts +77 -0
package/dist/agent.d.ts
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { EventEmitter } from 'node:events';
|
|
2
|
+
import { IceAgentState, IceConnectionState } from './types.js';
|
|
3
|
+
import type { CandidatePair, IceAgentOptions, IceCandidate, IceParameters } from './types.js';
|
|
4
|
+
export declare interface IceAgent {
|
|
5
|
+
on(event: 'gathering-state', listener: (state: IceAgentState) => void): this;
|
|
6
|
+
on(event: 'connection-state', listener: (state: IceConnectionState) => void): this;
|
|
7
|
+
on(event: 'local-candidate', listener: (candidate: IceCandidate) => void): this;
|
|
8
|
+
on(event: 'gathering-complete', listener: () => void): this;
|
|
9
|
+
on(event: 'connected', listener: (pair: CandidatePair) => void): this;
|
|
10
|
+
on(event: 'data', listener: (data: Buffer, rinfo: {
|
|
11
|
+
address: string;
|
|
12
|
+
port: number;
|
|
13
|
+
}) => void): this;
|
|
14
|
+
}
|
|
15
|
+
export declare class IceAgent extends EventEmitter {
|
|
16
|
+
readonly localParameters: IceParameters;
|
|
17
|
+
private _role;
|
|
18
|
+
private readonly _tiebreaker;
|
|
19
|
+
private readonly _nomination;
|
|
20
|
+
private _gatheringState;
|
|
21
|
+
private _connectionState;
|
|
22
|
+
private _localCandidates;
|
|
23
|
+
private _remoteCandidates;
|
|
24
|
+
private _remoteParameters;
|
|
25
|
+
private _candidatePairs;
|
|
26
|
+
private _nomineePair;
|
|
27
|
+
private _transport;
|
|
28
|
+
private _checkInterval;
|
|
29
|
+
private _keepAliveTimer;
|
|
30
|
+
private _failTimer;
|
|
31
|
+
private _pending;
|
|
32
|
+
private _remoteGatheringComplete;
|
|
33
|
+
private _connectResolve;
|
|
34
|
+
private _connectReject;
|
|
35
|
+
private readonly _portRange;
|
|
36
|
+
private readonly _stunServers;
|
|
37
|
+
constructor(options?: IceAgentOptions);
|
|
38
|
+
gather(): Promise<void>;
|
|
39
|
+
setRemoteParameters(params: IceParameters): void;
|
|
40
|
+
addRemoteCandidate(candidate: IceCandidate): void;
|
|
41
|
+
remoteGatheringComplete(): void;
|
|
42
|
+
connect(): Promise<CandidatePair>;
|
|
43
|
+
send(data: Buffer): void;
|
|
44
|
+
restart(): Promise<void>;
|
|
45
|
+
close(): void;
|
|
46
|
+
get connectionState(): IceConnectionState;
|
|
47
|
+
getLocalCandidates(): IceCandidate[];
|
|
48
|
+
getSelectedPair(): CandidatePair | undefined;
|
|
49
|
+
private _pickPort;
|
|
50
|
+
private _addLocalCandidate;
|
|
51
|
+
private _setGatheringState;
|
|
52
|
+
private _setConnectionState;
|
|
53
|
+
private _tick;
|
|
54
|
+
private _doCheck;
|
|
55
|
+
private _sendBuf;
|
|
56
|
+
private _buildSignedRequest;
|
|
57
|
+
/** Append MESSAGE-INTEGRITY + FINGERPRINT to an already-encoded STUN buffer
|
|
58
|
+
* (RFC 5389 §15.4 + §15.5 — both required for ICE checks per RFC 8445) */
|
|
59
|
+
private _appendMIAndFP;
|
|
60
|
+
private _onStunResponse;
|
|
61
|
+
private _handlePairSucceeded;
|
|
62
|
+
private _onCheckTimeout;
|
|
63
|
+
private _onBindingRequest;
|
|
64
|
+
private _sendBindingResponse;
|
|
65
|
+
private _sendError;
|
|
66
|
+
private _handleStunPacket;
|
|
67
|
+
private _nominatePair;
|
|
68
|
+
private _checkAllFailed;
|
|
69
|
+
private _sortPairs;
|
|
70
|
+
private _stopChecks;
|
|
71
|
+
private _clearFailTimer;
|
|
72
|
+
private _startKeepAlive;
|
|
73
|
+
private _stopKeepAlive;
|
|
74
|
+
private _cancelAllPending;
|
|
75
|
+
private _formPairsForRemote;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|