diff options
author | Jakob Borg <jakob@kastelo.net> | 2023-08-21 15:25:52 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-21 15:25:52 +0200 |
commit | cbf0e31f69bf44bb49c6c1d18196556900b8083b (patch) | |
tree | b4bf5c63968e0b5a2950652ae144ee2be33a1030 /lib/connections/quic_listen.go | |
parent | c40dae315b90157503bccad55bcb9887253f95ff (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.go | 17 |
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 |