1 | declare module "dgram" {
|
2 | import { AddressInfo } from "net";
|
3 | import * as dns from "dns";
|
4 | import * as events from "events";
|
5 |
|
6 | interface RemoteInfo {
|
7 | address: string;
|
8 | family: string;
|
9 | port: number;
|
10 | }
|
11 |
|
12 | interface BindOptions {
|
13 | port: number;
|
14 | address?: string;
|
15 | exclusive?: boolean;
|
16 | }
|
17 |
|
18 | type SocketType = "udp4" | "udp6";
|
19 |
|
20 | interface SocketOptions {
|
21 | type: SocketType;
|
22 | reuseAddr?: boolean;
|
23 | recvBufferSize?: number;
|
24 | sendBufferSize?: number;
|
25 | lookup?: (hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void;
|
26 | }
|
27 |
|
28 | function createSocket(type: SocketType, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket;
|
29 | function createSocket(options: SocketOptions, callback?: (msg: Buffer, rinfo: RemoteInfo) => void): Socket;
|
30 |
|
31 | class Socket extends events.EventEmitter {
|
32 | send(msg: Buffer | string | Uint8Array | ReadonlyArray<any>, port: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void;
|
33 | send(msg: Buffer | string | Uint8Array, offset: number, length: number, port: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void;
|
34 | bind(port?: number, address?: string, callback?: () => void): void;
|
35 | bind(port?: number, callback?: () => void): void;
|
36 | bind(callback?: () => void): void;
|
37 | bind(options: BindOptions, callback?: Function): void;
|
38 | close(callback?: () => void): void;
|
39 | address(): AddressInfo | string;
|
40 | setBroadcast(flag: boolean): void;
|
41 | setTTL(ttl: number): void;
|
42 | setMulticastTTL(ttl: number): void;
|
43 | setMulticastInterface(multicastInterface: string): void;
|
44 | setMulticastLoopback(flag: boolean): void;
|
45 | addMembership(multicastAddress: string, multicastInterface?: string): void;
|
46 | dropMembership(multicastAddress: string, multicastInterface?: string): void;
|
47 | ref(): this;
|
48 | unref(): this;
|
49 | setRecvBufferSize(size: number): void;
|
50 | setSendBufferSize(size: number): void;
|
51 | getRecvBufferSize(): number;
|
52 | getSendBufferSize(): number;
|
53 |
|
54 | |
55 |
|
56 |
|
57 |
|
58 |
|
59 |
|
60 |
|
61 | addListener(event: string, listener: (...args: any[]) => void): this;
|
62 | addListener(event: "close", listener: () => void): this;
|
63 | addListener(event: "error", listener: (err: Error) => void): this;
|
64 | addListener(event: "listening", listener: () => void): this;
|
65 | addListener(event: "message", listener: (msg: Buffer, rinfo: AddressInfo) => void): this;
|
66 |
|
67 | emit(event: string | symbol, ...args: any[]): boolean;
|
68 | emit(event: "close"): boolean;
|
69 | emit(event: "error", err: Error): boolean;
|
70 | emit(event: "listening"): boolean;
|
71 | emit(event: "message", msg: Buffer, rinfo: AddressInfo): boolean;
|
72 |
|
73 | on(event: string, listener: (...args: any[]) => void): this;
|
74 | on(event: "close", listener: () => void): this;
|
75 | on(event: "error", listener: (err: Error) => void): this;
|
76 | on(event: "listening", listener: () => void): this;
|
77 | on(event: "message", listener: (msg: Buffer, rinfo: AddressInfo) => void): this;
|
78 |
|
79 | once(event: string, listener: (...args: any[]) => void): this;
|
80 | once(event: "close", listener: () => void): this;
|
81 | once(event: "error", listener: (err: Error) => void): this;
|
82 | once(event: "listening", listener: () => void): this;
|
83 | once(event: "message", listener: (msg: Buffer, rinfo: AddressInfo) => void): this;
|
84 |
|
85 | prependListener(event: string, listener: (...args: any[]) => void): this;
|
86 | prependListener(event: "close", listener: () => void): this;
|
87 | prependListener(event: "error", listener: (err: Error) => void): this;
|
88 | prependListener(event: "listening", listener: () => void): this;
|
89 | prependListener(event: "message", listener: (msg: Buffer, rinfo: AddressInfo) => void): this;
|
90 |
|
91 | prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
92 | prependOnceListener(event: "close", listener: () => void): this;
|
93 | prependOnceListener(event: "error", listener: (err: Error) => void): this;
|
94 | prependOnceListener(event: "listening", listener: () => void): this;
|
95 | prependOnceListener(event: "message", listener: (msg: Buffer, rinfo: AddressInfo) => void): this;
|
96 | }
|
97 | }
|