Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / protobufjs / node_modules / @types / node / cluster.d.ts
1 declare module "cluster" {
2     import * as child from "child_process";
3     import * as events from "events";
4     import * as net from "net";
5
6     // interfaces
7     interface ClusterSettings {
8         execArgv?: string[]; // default: process.execArgv
9         exec?: string;
10         args?: string[];
11         silent?: boolean;
12         stdio?: any[];
13         uid?: number;
14         gid?: number;
15         inspectPort?: number | (() => number);
16     }
17
18     interface Address {
19         address: string;
20         port: number;
21         addressType: number | "udp4" | "udp6";  // 4, 6, -1, "udp4", "udp6"
22     }
23
24     class Worker extends events.EventEmitter {
25         id: number;
26         process: child.ChildProcess;
27         send(message: child.Serializable, sendHandle?: child.SendHandle, callback?: (error: Error | null) => void): boolean;
28         kill(signal?: string): void;
29         destroy(signal?: string): void;
30         disconnect(): void;
31         isConnected(): boolean;
32         isDead(): boolean;
33         exitedAfterDisconnect: boolean;
34
35         /**
36          * events.EventEmitter
37          *   1. disconnect
38          *   2. error
39          *   3. exit
40          *   4. listening
41          *   5. message
42          *   6. online
43          */
44         addListener(event: string, listener: (...args: any[]) => void): this;
45         addListener(event: "disconnect", listener: () => void): this;
46         addListener(event: "error", listener: (error: Error) => void): this;
47         addListener(event: "exit", listener: (code: number, signal: string) => void): this;
48         addListener(event: "listening", listener: (address: Address) => void): this;
49         addListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this;  // the handle is a net.Socket or net.Server object, or undefined.
50         addListener(event: "online", listener: () => void): this;
51
52         emit(event: string | symbol, ...args: any[]): boolean;
53         emit(event: "disconnect"): boolean;
54         emit(event: "error", error: Error): boolean;
55         emit(event: "exit", code: number, signal: string): boolean;
56         emit(event: "listening", address: Address): boolean;
57         emit(event: "message", message: any, handle: net.Socket | net.Server): boolean;
58         emit(event: "online"): boolean;
59
60         on(event: string, listener: (...args: any[]) => void): this;
61         on(event: "disconnect", listener: () => void): this;
62         on(event: "error", listener: (error: Error) => void): this;
63         on(event: "exit", listener: (code: number, signal: string) => void): this;
64         on(event: "listening", listener: (address: Address) => void): this;
65         on(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this;  // the handle is a net.Socket or net.Server object, or undefined.
66         on(event: "online", listener: () => void): this;
67
68         once(event: string, listener: (...args: any[]) => void): this;
69         once(event: "disconnect", listener: () => void): this;
70         once(event: "error", listener: (error: Error) => void): this;
71         once(event: "exit", listener: (code: number, signal: string) => void): this;
72         once(event: "listening", listener: (address: Address) => void): this;
73         once(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this;  // the handle is a net.Socket or net.Server object, or undefined.
74         once(event: "online", listener: () => void): this;
75
76         prependListener(event: string, listener: (...args: any[]) => void): this;
77         prependListener(event: "disconnect", listener: () => void): this;
78         prependListener(event: "error", listener: (error: Error) => void): this;
79         prependListener(event: "exit", listener: (code: number, signal: string) => void): this;
80         prependListener(event: "listening", listener: (address: Address) => void): this;
81         prependListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this;  // the handle is a net.Socket or net.Server object, or undefined.
82         prependListener(event: "online", listener: () => void): this;
83
84         prependOnceListener(event: string, listener: (...args: any[]) => void): this;
85         prependOnceListener(event: "disconnect", listener: () => void): this;
86         prependOnceListener(event: "error", listener: (error: Error) => void): this;
87         prependOnceListener(event: "exit", listener: (code: number, signal: string) => void): this;
88         prependOnceListener(event: "listening", listener: (address: Address) => void): this;
89         prependOnceListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this;  // the handle is a net.Socket or net.Server object, or undefined.
90         prependOnceListener(event: "online", listener: () => void): this;
91     }
92
93     interface Cluster extends events.EventEmitter {
94         Worker: Worker;
95         disconnect(callback?: () => void): void;
96         fork(env?: any): Worker;
97         isMaster: boolean;
98         isWorker: boolean;
99         schedulingPolicy: number;
100         settings: ClusterSettings;
101         setupMaster(settings?: ClusterSettings): void;
102         worker?: Worker;
103         workers?: NodeJS.Dict<Worker>;
104
105         readonly SCHED_NONE: number;
106         readonly SCHED_RR: number;
107
108         /**
109          * events.EventEmitter
110          *   1. disconnect
111          *   2. exit
112          *   3. fork
113          *   4. listening
114          *   5. message
115          *   6. online
116          *   7. setup
117          */
118         addListener(event: string, listener: (...args: any[]) => void): this;
119         addListener(event: "disconnect", listener: (worker: Worker) => void): this;
120         addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
121         addListener(event: "fork", listener: (worker: Worker) => void): this;
122         addListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
123         addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this;  // the handle is a net.Socket or net.Server object, or undefined.
124         addListener(event: "online", listener: (worker: Worker) => void): this;
125         addListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
126
127         emit(event: string | symbol, ...args: any[]): boolean;
128         emit(event: "disconnect", worker: Worker): boolean;
129         emit(event: "exit", worker: Worker, code: number, signal: string): boolean;
130         emit(event: "fork", worker: Worker): boolean;
131         emit(event: "listening", worker: Worker, address: Address): boolean;
132         emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean;
133         emit(event: "online", worker: Worker): boolean;
134         emit(event: "setup", settings: ClusterSettings): boolean;
135
136         on(event: string, listener: (...args: any[]) => void): this;
137         on(event: "disconnect", listener: (worker: Worker) => void): this;
138         on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
139         on(event: "fork", listener: (worker: Worker) => void): this;
140         on(event: "listening", listener: (worker: Worker, address: Address) => void): this;
141         on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this;  // the handle is a net.Socket or net.Server object, or undefined.
142         on(event: "online", listener: (worker: Worker) => void): this;
143         on(event: "setup", listener: (settings: ClusterSettings) => void): this;
144
145         once(event: string, listener: (...args: any[]) => void): this;
146         once(event: "disconnect", listener: (worker: Worker) => void): this;
147         once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
148         once(event: "fork", listener: (worker: Worker) => void): this;
149         once(event: "listening", listener: (worker: Worker, address: Address) => void): this;
150         once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this;  // the handle is a net.Socket or net.Server object, or undefined.
151         once(event: "online", listener: (worker: Worker) => void): this;
152         once(event: "setup", listener: (settings: ClusterSettings) => void): this;
153
154         prependListener(event: string, listener: (...args: any[]) => void): this;
155         prependListener(event: "disconnect", listener: (worker: Worker) => void): this;
156         prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
157         prependListener(event: "fork", listener: (worker: Worker) => void): this;
158         prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
159         prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this;  // the handle is a net.Socket or net.Server object, or undefined.
160         prependListener(event: "online", listener: (worker: Worker) => void): this;
161         prependListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
162
163         prependOnceListener(event: string, listener: (...args: any[]) => void): this;
164         prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): this;
165         prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
166         prependOnceListener(event: "fork", listener: (worker: Worker) => void): this;
167         prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
168         // the handle is a net.Socket or net.Server object, or undefined.
169         prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this;
170         prependOnceListener(event: "online", listener: (worker: Worker) => void): this;
171         prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
172     }
173
174     const SCHED_NONE: number;
175     const SCHED_RR: number;
176
177     function disconnect(callback?: () => void): void;
178     function fork(env?: any): Worker;
179     const isMaster: boolean;
180     const isWorker: boolean;
181     let schedulingPolicy: number;
182     const settings: ClusterSettings;
183     function setupMaster(settings?: ClusterSettings): void;
184     const worker: Worker;
185     const workers: NodeJS.Dict<Worker>;
186
187     /**
188      * events.EventEmitter
189      *   1. disconnect
190      *   2. exit
191      *   3. fork
192      *   4. listening
193      *   5. message
194      *   6. online
195      *   7. setup
196      */
197     function addListener(event: string, listener: (...args: any[]) => void): Cluster;
198     function addListener(event: "disconnect", listener: (worker: Worker) => void): Cluster;
199     function addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
200     function addListener(event: "fork", listener: (worker: Worker) => void): Cluster;
201     function addListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
202      // the handle is a net.Socket or net.Server object, or undefined.
203     function addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster;
204     function addListener(event: "online", listener: (worker: Worker) => void): Cluster;
205     function addListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
206
207     function emit(event: string | symbol, ...args: any[]): boolean;
208     function emit(event: "disconnect", worker: Worker): boolean;
209     function emit(event: "exit", worker: Worker, code: number, signal: string): boolean;
210     function emit(event: "fork", worker: Worker): boolean;
211     function emit(event: "listening", worker: Worker, address: Address): boolean;
212     function emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean;
213     function emit(event: "online", worker: Worker): boolean;
214     function emit(event: "setup", settings: ClusterSettings): boolean;
215
216     function on(event: string, listener: (...args: any[]) => void): Cluster;
217     function on(event: "disconnect", listener: (worker: Worker) => void): Cluster;
218     function on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
219     function on(event: "fork", listener: (worker: Worker) => void): Cluster;
220     function on(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
221     function on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster;  // the handle is a net.Socket or net.Server object, or undefined.
222     function on(event: "online", listener: (worker: Worker) => void): Cluster;
223     function on(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
224
225     function once(event: string, listener: (...args: any[]) => void): Cluster;
226     function once(event: "disconnect", listener: (worker: Worker) => void): Cluster;
227     function once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
228     function once(event: "fork", listener: (worker: Worker) => void): Cluster;
229     function once(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
230     function once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster;  // the handle is a net.Socket or net.Server object, or undefined.
231     function once(event: "online", listener: (worker: Worker) => void): Cluster;
232     function once(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
233
234     function removeListener(event: string, listener: (...args: any[]) => void): Cluster;
235     function removeAllListeners(event?: string): Cluster;
236     function setMaxListeners(n: number): Cluster;
237     function getMaxListeners(): number;
238     function listeners(event: string): Function[];
239     function listenerCount(type: string): number;
240
241     function prependListener(event: string, listener: (...args: any[]) => void): Cluster;
242     function prependListener(event: "disconnect", listener: (worker: Worker) => void): Cluster;
243     function prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
244     function prependListener(event: "fork", listener: (worker: Worker) => void): Cluster;
245     function prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
246      // the handle is a net.Socket or net.Server object, or undefined.
247     function prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster;
248     function prependListener(event: "online", listener: (worker: Worker) => void): Cluster;
249     function prependListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
250
251     function prependOnceListener(event: string, listener: (...args: any[]) => void): Cluster;
252     function prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): Cluster;
253     function prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
254     function prependOnceListener(event: "fork", listener: (worker: Worker) => void): Cluster;
255     function prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
256      // the handle is a net.Socket or net.Server object, or undefined.
257     function prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster;
258     function prependOnceListener(event: "online", listener: (worker: Worker) => void): Cluster;
259     function prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
260
261     function eventNames(): string[];
262 }