~/bend-docscommunity

net.bend source

net.bend on the hub · documented module

# Net: connections by host name that may be TLS, read with a deadline# (net.c, native only). A connection is a Socket; after Net.tls,# Net.send, Net.poll and Net.close go through the TLS session.import Base# A host (name or IP) and port; tries every address it resolves to.def Net.connect(host: String, port: U32) ->  IO(Result<&1, &1, U32 & String, Socket>):  import "./net.c"  import "./net.js"# A verified TLS 1.2+ session on the socket, for host; cafile "" trusts# the system's certificate store; cert and key ("" for none) are PEM# files with this side's certificate, for a server that asks for one.def Net.tls(sock: Socket, host: String, cafile: String, cert: String,  key: String) -> IO(Socket & Result<&1, &1, U32 & String, Unit>):  import "./net.c"  import "./net.js"def Net.send(sock: Socket, data: List<&2, U32>) ->  IO(Socket & Result<&1, &1, U32 & String, Unit>):  import "./net.c"  import "./net.js"# Up to max bytes; Some{[]} when the peer closed, None{} after ms.def Net.poll(sock: Socket, max: U32, ms: U32) ->  IO(Socket & Result<&1, &1, U32 & String, Maybe<&1, List<&2, U32>>>):  import "./net.c"  import "./net.js"def Net.close(sock: Socket) -> IO(Unit):  import "./net.c"  import "./net.js"