ferrings 0.1.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/native.d.ts ADDED
@@ -0,0 +1,213 @@
1
+ /* auto-generated by NAPI-RS */
2
+ /* eslint-disable */
3
+ export declare class UringHttpServer {
4
+ constructor(options?: ServerOptions | undefined | null)
5
+ start(): ServerInfo
6
+ stop(): void
7
+ info(): ServerInfo | null
8
+ }
9
+
10
+ export declare class UringTcpEchoServer {
11
+ constructor(options?: TcpServerOptions | undefined | null)
12
+ start(): ServerInfo
13
+ stop(): void
14
+ info(): ServerInfo | null
15
+ }
16
+
17
+ export declare class UringTcpServer {
18
+ constructor(options?: TcpServerOptions | undefined | null)
19
+ start(eventCallback: (arg: TcpEvent) => unknown): ServerInfo
20
+ startBatch(eventCallback: (arg: Array<TcpEvent>) => unknown): ServerInfo
21
+ send(connectionId: number, data: Buffer): boolean
22
+ sendAndClose(connectionId: number, data: Buffer): boolean
23
+ sendBatch(sends: Array<TcpSend>): boolean
24
+ sendBatchAndClose(sends: Array<TcpSend>): boolean
25
+ closeConnection(connectionId: number): boolean
26
+ stop(): void
27
+ info(): ServerInfo | null
28
+ }
29
+
30
+ export declare function capabilities(): Capabilities
31
+
32
+ export interface Capabilities {
33
+ platform: string
34
+ kernelRelease: string
35
+ ioUringAvailable: boolean
36
+ accept: boolean
37
+ acceptMulti: boolean
38
+ recv: boolean
39
+ recvMulti: boolean
40
+ providedBuffers: boolean
41
+ providedBufferRing: boolean
42
+ providedBufferRingProbe: string
43
+ recvBundle: boolean
44
+ send: boolean
45
+ sendZc: boolean
46
+ registeredSendBuffer: boolean
47
+ registeredSendBufferProbe: string
48
+ recvZc: boolean
49
+ zcrxKernelOpcode: boolean
50
+ zcrxCqe32Ring: boolean
51
+ zcrxCqe32RingProbe: string
52
+ fastPoll: boolean
53
+ note: string
54
+ }
55
+
56
+ export interface ServerInfo {
57
+ host: string
58
+ port: number
59
+ backend: string
60
+ backlog: number
61
+ queueDepth: number
62
+ bufferCount: number
63
+ bufferSize: number
64
+ maxConnections: number
65
+ rejectedConnections: number
66
+ idleTimeoutMs: number
67
+ idleTimeouts: number
68
+ tcpNoDelay: boolean
69
+ reusePort: boolean
70
+ tcpDeferAcceptSeconds: number
71
+ socketRecvBufferSize: number
72
+ socketSendBufferSize: number
73
+ commandQueueCapacity: number
74
+ commandQueueDrops: number
75
+ eventQueueCapacity: number
76
+ eventQueueDrops: number
77
+ eventBatchSize: number
78
+ sendQueueCapacity: number
79
+ sendQueueDrops: number
80
+ sendBufferCount: number
81
+ sendBufferSize: number
82
+ activeConnections: number
83
+ acceptedConnections: number
84
+ closedConnections: number
85
+ bytesReceived: number
86
+ bytesSent: number
87
+ multishotAccept: boolean
88
+ multishotRecv: boolean
89
+ providedBufferRing: boolean
90
+ recvBundle: boolean
91
+ recvBundleCompletions: number
92
+ recvBundleBuffers: number
93
+ recvBundleBytes: number
94
+ recvBufferStarvations: number
95
+ recvMultishotResubmits: number
96
+ recvCopyEvents: number
97
+ recvCopyBytes: number
98
+ registeredSendBuffer: boolean
99
+ registeredSendRequests: number
100
+ registeredSendErrors: number
101
+ fixedSendBufferMisses: number
102
+ fixedSendBufferMissBytes: number
103
+ zeroCopySend: boolean
104
+ zeroCopySendRequests: number
105
+ zeroCopySendNotifications: number
106
+ zeroCopySendCopied: number
107
+ zeroCopySendErrors: number
108
+ zeroCopyReceive: boolean
109
+ zcrxReady: boolean
110
+ zcrxRxBufferSize: number
111
+ zcrxPackets: number
112
+ zcrxBytes: number
113
+ }
114
+
115
+ export interface ServerOptions {
116
+ host?: string
117
+ port?: number
118
+ backlog?: number
119
+ queueDepth?: number
120
+ bufferCount?: number
121
+ bufferSize?: number
122
+ maxConnections?: number
123
+ idleTimeoutMs?: number
124
+ tcpNoDelay?: boolean
125
+ reusePort?: boolean
126
+ tcpDeferAcceptSeconds?: number
127
+ socketRecvBufferSize?: number
128
+ socketSendBufferSize?: number
129
+ responseBody?: string
130
+ useRegisteredSendBuffer?: boolean
131
+ useRecvBundle?: boolean
132
+ useZeroCopySend?: boolean
133
+ useZeroCopyReceive?: boolean
134
+ zcrxInterfaceName?: string
135
+ zcrxRxQueue?: number
136
+ zcrxRxBufferSize?: number
137
+ }
138
+
139
+ export interface TcpEvent {
140
+ eventType: string
141
+ connectionId: number
142
+ remoteAddr?: string
143
+ remoteAddress?: string
144
+ remoteFamily?: string
145
+ remotePort?: number
146
+ data?: Buffer
147
+ }
148
+
149
+ export interface TcpSend {
150
+ connectionId: number
151
+ data: Buffer
152
+ }
153
+
154
+ export interface TcpServerOptions {
155
+ host?: string
156
+ port?: number
157
+ backlog?: number
158
+ queueDepth?: number
159
+ bufferCount?: number
160
+ bufferSize?: number
161
+ maxConnections?: number
162
+ idleTimeoutMs?: number
163
+ tcpNoDelay?: boolean
164
+ reusePort?: boolean
165
+ tcpDeferAcceptSeconds?: number
166
+ socketRecvBufferSize?: number
167
+ socketSendBufferSize?: number
168
+ commandQueueCapacity?: number
169
+ eventQueueCapacity?: number
170
+ eventBatchSize?: number
171
+ sendQueueCapacity?: number
172
+ useRegisteredSendBuffer?: boolean
173
+ useRecvBundle?: boolean
174
+ useZeroCopySend?: boolean
175
+ sendBufferCount?: number
176
+ sendBufferSize?: number
177
+ useZeroCopyReceive?: boolean
178
+ zcrxInterfaceName?: string
179
+ zcrxRxQueue?: number
180
+ zcrxRxBufferSize?: number
181
+ }
182
+
183
+ export declare function zcrxProbe(options?: ZcrxProbeOptions | undefined | null): ZcrxProbe
184
+
185
+ export interface ZcrxProbe {
186
+ interfaceName?: string
187
+ interfaceIndex: number
188
+ kernelOpcode: boolean
189
+ interfaceExists: boolean
190
+ operstate?: string
191
+ rxQueue: number
192
+ rxBufferSize: number
193
+ rxQueueCount: number
194
+ driver?: string
195
+ isLoopback: boolean
196
+ isVirtual: boolean
197
+ ethtoolAvailable: boolean
198
+ headerDataSplit: string
199
+ flowSteering: string
200
+ activeRegistration: boolean
201
+ activeRegistrationResult?: string
202
+ activeRegistrationErrno?: number
203
+ ready: boolean
204
+ blockers: Array<string>
205
+ note: string
206
+ }
207
+
208
+ export interface ZcrxProbeOptions {
209
+ interfaceName?: string
210
+ rxQueue?: number
211
+ rxBufferSize?: number
212
+ activeRegistration?: boolean
213
+ }