-
Notifications
You must be signed in to change notification settings - Fork 80
/
Copy pathdirect-sockets.idl
121 lines (93 loc) · 2.58 KB
/
direct-sockets.idl
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
// GENERATED CONTENT - DO NOT EDIT
// Content was automatically extracted by Reffy into webref
// (https://github.com/w3c/webref)
// Source: Direct Sockets API (https://wicg.github.io/direct-sockets/)
[
Exposed=(Window,DedicatedWorker),
SecureContext,
IsolatedContext
]
interface TCPSocket {
constructor(DOMString remoteAddress,
unsigned short remotePort,
optional TCPSocketOptions options = {});
readonly attribute Promise<TCPSocketOpenInfo> opened;
readonly attribute Promise<undefined> closed;
Promise<undefined> close();
};
enum SocketDnsQueryType {
"ipv4",
"ipv6"
};
dictionary TCPSocketOptions {
[EnforceRange] unsigned long sendBufferSize;
[EnforceRange] unsigned long receiveBufferSize;
boolean noDelay = false;
[EnforceRange] unsigned long keepAliveDelay;
SocketDnsQueryType dnsQueryType;
};
dictionary TCPSocketOpenInfo {
ReadableStream readable;
WritableStream writable;
DOMString remoteAddress;
unsigned short remotePort;
DOMString localAddress;
unsigned short localPort;
};
[
Exposed=(Window,DedicatedWorker),
SecureContext,
IsolatedContext
]
interface UDPSocket {
constructor(optional UDPSocketOptions options = {});
readonly attribute Promise<UDPSocketOpenInfo> opened;
readonly attribute Promise<undefined> closed;
Promise<undefined> close();
};
dictionary UDPSocketOptions {
DOMString remoteAddress;
[EnforceRange] unsigned short remotePort;
DOMString localAddress;
[EnforceRange] unsigned short localPort;
[EnforceRange] unsigned long sendBufferSize;
[EnforceRange] unsigned long receiveBufferSize;
SocketDnsQueryType dnsQueryType;
boolean ipv6Only;
};
dictionary UDPMessage {
BufferSource data;
DOMString remoteAddress;
unsigned short remotePort;
SocketDnsQueryType dnsQueryType;
};
dictionary UDPSocketOpenInfo {
ReadableStream readable;
WritableStream writable;
DOMString remoteAddress;
unsigned short remotePort;
DOMString localAddress;
unsigned short localPort;
};
[
Exposed=(Window,DedicatedWorker),
SecureContext,
IsolatedContext
]
interface TCPServerSocket {
constructor(DOMString localAddress,
optional TCPServerSocketOptions options = {});
readonly attribute Promise<TCPServerSocketOpenInfo> opened;
readonly attribute Promise<undefined> closed;
Promise<undefined> close();
};
dictionary TCPServerSocketOptions {
[EnforceRange] unsigned short localPort;
[EnforceRange] unsigned long backlog;
boolean ipv6Only;
};
dictionary TCPServerSocketOpenInfo {
ReadableStream readable;
DOMString localAddress;
unsigned short localPort;
};