-
Notifications
You must be signed in to change notification settings - Fork 3
/
chunked-dc.d.ts
67 lines (50 loc) · 1.89 KB
/
chunked-dc.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// Interfaces
declare namespace chunkedDc {
/** common.ts **/
interface Mode {
ReliableOrdered: number;
UnreliableUnordered: number;
}
/** chunker.ts **/
interface Chunker extends IterableIterator<Uint8Array> {
hasNext: boolean;
next(): IteratorResult<Uint8Array>;
[Symbol.iterator](): IterableIterator<Uint8Array>;
}
interface ReliableOrderedChunker extends Chunker {}
interface ReliableOrderedChunkerStatic {
new(message: Uint8Array, chunkLength: number, buffer?: ArrayBuffer): ReliableOrderedChunker;
}
interface UnreliableUnorderedChunker extends Chunker {}
interface UnreliableUnorderedChunkerStatic {
new(id: number, message: Uint8Array, chunkLength: number, buffer?: ArrayBuffer): UnreliableUnorderedChunker;
}
/** unchunker.ts **/
type MessageListener = (message: Uint8Array, context?: any) => void;
interface Unchunker {
onMessage: MessageListener;
add(chunk: Uint8Array): void;
}
interface ReliableOrderedUnchunker extends Unchunker {}
interface ReliableOrderedUnchunkerStatic {
new(buffer?: ArrayBuffer): ReliableOrderedUnchunker;
}
interface UnreliableUnorderedUnchunker extends Unchunker {
gc(maxAge: number): number;
}
interface UnreliableUnorderedUnchunkerStatic {
new(): UnreliableUnorderedUnchunker;
}
/** main.ts **/
interface Standalone {
Mode: Mode,
RELIABLE_ORDERED_HEADER_LENGTH: number;
UNRELIABLE_UNORDERED_HEADER_LENGTH: number;
ReliableOrderedChunker: ReliableOrderedChunkerStatic;
UnreliableUnorderedChunker: UnreliableUnorderedChunkerStatic;
ReliableOrderedUnchunker: ReliableOrderedUnchunkerStatic;
UnreliableUnorderedUnchunker: UnreliableUnorderedUnchunkerStatic;
}
}
// Entry point
declare var chunkedDc: chunkedDc.Standalone;