mirror of
https://github.com/tinygo-org/net.git
synced 2026-08-13 07:53:39 +00:00
net: add UDP listen, resolver, DNSError, and TCP listener APIs for wasm (#63)
* net: add UDP listen, resolver, DNSError, and TCP listener APIs for wasm TinyGo's net package was missing several symbols that upstream Go's js/wasm net declares, blocking builds that pull pion/transport, pion/dtls, and similar (via netbird's WASM client). Add them, backed by the existing netdev abstraction so they compile for all targets and no-op cleanly under nopNetdev (matching Go's js runtime behavior): - DNSError type (dnserror.go), copied from Go 1.26.2. - Resolver + DefaultResolver with LookupHost/LookupIP/LookupIPAddr/ LookupNetIP/LookupPort; LookupHost/LookupIP package funcs; Dialer.Resolver field for API compatibility. - UDPConn: ListenUDP, ReadFromUDP(AddrPort), WriteToUDP(AddrPort), SetReadBuffer, SetWriteBuffer. - TCPConn: CloseRead, SetNoDelay, SetReadBuffer, SetWriteBuffer, ReadFrom(io.Reader). - TCPListener: ListenTCP, AcceptTCP, SetDeadline; ListenPacket package func. - Interface: Addrs, MulticastAddrs stubs. * more complete PR for adding more net support (#64) * format unixsock
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
package net
|
||||
|
||||
import (
|
||||
"context"
|
||||
"internal/itoa"
|
||||
"io"
|
||||
"net/netip"
|
||||
@@ -139,3 +140,10 @@ func (c *TLSConn) Handshake() error {
|
||||
panic("TLSConn.Handshake() not implemented")
|
||||
return nil
|
||||
}
|
||||
|
||||
// HandshakeContext runs the client or server handshake protocol if it has not
|
||||
// yet been run. TINYGO: TLS is offloaded to the network device; this exists to
|
||||
// satisfy callers (e.g. pion/ice) that require the context-aware variant.
|
||||
func (c *TLSConn) HandshakeContext(ctx context.Context) error {
|
||||
return c.Handshake()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user