diff options
| author | Ryan Dahl <ry@tinyclouds.org> | 2020-07-23 10:27:26 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-23 16:27:26 +0200 |
| commit | ca4dcb36dd5be0b14a2fafa059ea02ee7e0a0262 (patch) | |
| tree | 393fc85f19e97bb66402676f67e63690d7a29e00 /cli/rt/40_net_unstable.js | |
| parent | 090455936c892b6f2dfa425be9b1cdfb4c63af4a (diff) | |
Rename cli/js2 to cli/rt (#6857)
Diffstat (limited to 'cli/rt/40_net_unstable.js')
| -rw-r--r-- | cli/rt/40_net_unstable.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/cli/rt/40_net_unstable.js b/cli/rt/40_net_unstable.js new file mode 100644 index 000000000..fcc899a30 --- /dev/null +++ b/cli/rt/40_net_unstable.js @@ -0,0 +1,48 @@ +// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. + +((window) => { + const net = window.__bootstrap.net; + + function listen(options) { + if (options.transport === "unix") { + const res = net.opListen(options); + return new net.Listener(res.rid, res.localAddr); + } else { + return net.listen(options); + } + } + + function listenDatagram( + options, + ) { + let res; + if (options.transport === "unixpacket") { + res = net.opListen(options); + } else { + res = net.opListen({ + transport: "udp", + hostname: "127.0.0.1", + ...options, + }); + } + + return new net.Datagram(res.rid, res.localAddr); + } + + async function connect( + options, + ) { + if (options.transport === "unix") { + const res = await net.opConnect(options); + return new net.Conn(res.rid, res.remoteAddr, res.localAddr); + } else { + return net.connect(options); + } + } + + window.__bootstrap.netUnstable = { + connect, + listenDatagram, + listen, + }; +})(this); |
