summaryrefslogtreecommitdiffstats
path: root/lib/connections/quic_listen.go
diff options
context:
space:
mode:
authorJakob Borg <jakob@kastelo.net>2023-08-21 15:25:52 +0200
committerGitHub <noreply@github.com>2023-08-21 15:25:52 +0200
commitcbf0e31f69bf44bb49c6c1d18196556900b8083b (patch)
treeb4bf5c63968e0b5a2950652ae144ee2be33a1030 /lib/connections/quic_listen.go
parentc40dae315b90157503bccad55bcb9887253f95ff (diff)
all: Use Go 1.21, new QUIC API (#9040)
Diffstat (limited to 'lib/connections/quic_listen.go')
-rw-r--r--lib/connections/quic_listen.go17
1 files changed, 11 insertions, 6 deletions
diff --git a/lib/connections/quic_listen.go b/lib/connections/quic_listen.go
index 9eab87026d..930376777c 100644
--- a/lib/connections/quic_listen.go
+++ b/lib/connections/quic_listen.go
@@ -95,17 +95,22 @@ func (t *quicListener) serve(ctx context.Context) error {
l.Infoln("Listen (BEP/quic):", err)
return err
}
- defer func() { _ = udpConn.Close() }()
+ defer udpConn.Close()
- svc, conn := stun.New(t.cfg, t, udpConn)
- defer conn.Close()
+ tracer := &writeTrackingTracer{}
+ quicTransport := &quic.Transport{
+ Conn: udpConn,
+ Tracer: tracer,
+ }
+ defer quicTransport.Close()
+ svc := stun.New(t.cfg, t, &transportPacketConn{tran: quicTransport}, tracer)
go svc.Serve(ctx)
- t.registry.Register(t.uri.Scheme, conn)
- defer t.registry.Unregister(t.uri.Scheme, conn)
+ t.registry.Register(t.uri.Scheme, quicTransport)
+ defer t.registry.Unregister(t.uri.Scheme, quicTransport)
- listener, err := quic.Listen(conn, t.tlsCfg, quicConfig)
+ listener, err := quicTransport.Listen(t.tlsCfg, quicConfig)
if err != nil {
l.Infoln("Listen (BEP/quic):", err)
return err