35 lines
704 B
Go
35 lines
704 B
Go
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cn .
|
|
//go:build plus
|
|
|
|
package nodes
|
|
|
|
import (
|
|
"github.com/TeaOSLab/EdgeNode/internal/conns"
|
|
"github.com/TeaOSLab/EdgeNode/internal/http3"
|
|
)
|
|
|
|
type HTTP3Conn struct {
|
|
*BaseClientConn
|
|
http3.Conn
|
|
}
|
|
|
|
func NewHTTP3Conn(http3Conn http3.Conn) *HTTP3Conn {
|
|
// 添加新的
|
|
var conn = &HTTP3Conn{
|
|
BaseClientConn: &BaseClientConn{rawConn: http3Conn},
|
|
Conn: http3Conn,
|
|
}
|
|
|
|
http3Conn.SetParentConn(conn)
|
|
http3Conn.SetNotifier(NewHTTP3ConnNotifier(conn))
|
|
|
|
// 添加到统计Map
|
|
conns.SharedMap.Add(conn)
|
|
|
|
return conn
|
|
}
|
|
|
|
func (this *HTTP3Conn) NotifyClose() {
|
|
conns.SharedMap.Remove(this)
|
|
}
|