-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.ts
More file actions
121 lines (107 loc) · 3 KB
/
index.ts
File metadata and controls
121 lines (107 loc) · 3 KB
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
import rohcAddon, {
RohcBindingCompGeneralInfo,
RohcBindingCompLastPacketInfo2,
RohcBindingLogging,
RohcBindingObject,
RohcProfiles,
RohcStatus,
RohcMode,
RohcBindingDecmopLastPacketInfo,
RohcPacket,
RohcDecompState, RohcBindingDecmopGeneralInfo
} from './src/ts/RohcAddon';
/**
* A Binding library for the Robust Header Compression (ROHC) protocol.
* @see https://github.com/stefanwerfling/rohc
*/
class Rohc {
/**
* Return a string with version of ROHC Library
* @returns {string}
*/
public static getVersion(): string {
return rohcAddon.rohcVersion();
}
/**
* Rohc addon wrap object
* @protected
*/
protected _rohc: RohcBindingObject;
/**
* Constructor
* @param {RohcProfiles[]} profiles
*/
public constructor(profiles: RohcProfiles[]) {
// @ts-ignore
this._rohc = new rohcAddon.NjsRohc(profiles);
}
/**
* Compress an Ip-Packet to Rohc-Packet
* @param {Uint8Array} ipPacket
* @returns {Uint8Array}
*/
public compress(ipPacket: Uint8Array): Uint8Array {
return this._rohc.compress(ipPacket);
}
/**
* Decompress a Rohc-Packet to Ip-Packet
* @param {Uint8Array} rohc
* @returns {Uint8Array}
*/
public decompress(rohc: Uint8Array): Uint8Array {
return this._rohc.decompress(rohc);
}
/**
* Set for more logging information
* @param {RohcBindingLogging} func
*/
public setLogger(func: RohcBindingLogging): void {
this._rohc.setLogger(func);
}
/**
* Set the buffer size for compress/decompress
* @param {number} size
*/
public setBufferSize(size: number): void {
this._rohc.setBufferSize(size);
}
/**
* Get the last status by compress/decompress
* @returns {RohcStatus}
*/
public getLastStatus(): RohcStatus {
return this._rohc.getLastStatus();
}
/**
* Some information about the last compressed packet.
* @returns {RohcBindingCompLastPacketInfo2}
*/
public compressLastPacketInfo(): RohcBindingCompLastPacketInfo2 {
return this._rohc.compressLastPacketInfo();
}
/**
* Some general information about the compressor.
* @returns {RohcBindingCompGeneralInfo}
*/
public compressGeneralInfo(): RohcBindingCompGeneralInfo {
return this._rohc.compressGeneralInfo();
}
/**
* Some information about the last decompressed packet
* @returns {RohcBindingDecmopLastPacketInfo}
*/
public decompressLastPacketInfo(): RohcBindingDecmopLastPacketInfo {
return this._rohc.decompressLastPacketInfo();
}
/**
* Some general information about the decompressor.
* @returns {RohcBindingDecmopGeneralInfo}
*/
public decompressGeneralInfo(): RohcBindingDecmopGeneralInfo {
return this._rohc.decompressGeneralInfo();
}
}
/**
* Exports
*/
export {Rohc, RohcProfiles, RohcStatus, RohcMode, RohcDecompState, RohcPacket};