1234567891011121314151617181920212223242526272829303132 |
- //go:build with_quic
- package inbound
- import (
- "github.com/sagernet/quic-go/http3"
- E "github.com/sagernet/sing/common/exceptions"
- )
- func (n *Naive) configureHTTP3Listener() error {
- h3Server := &http3.Server{
- Port: int(n.listenOptions.ListenPort),
- TLSConfig: n.tlsConfig.Config(),
- Handler: n,
- }
- udpConn, err := n.ListenUDP()
- if err != nil {
- return err
- }
- go func() {
- sErr := h3Server.Serve(udpConn)
- udpConn.Close()
- if sErr != nil && !E.IsClosedOrCanceled(sErr) {
- n.logger.Error("http3 server serve error: ", sErr)
- }
- }()
- n.h3Server = h3Server
- return nil
- }
|