add new metadata for dtls

This commit is contained in:
ginuerzh
2022-12-17 22:40:45 +08:00
parent 61fdebe630
commit 3b21b41ab3
7 changed files with 83 additions and 16 deletions

View File

@ -66,8 +66,10 @@ func (l *dtlsListener) Init(md md.Metadata) (err error) {
ConnectContextMaker: func() (context.Context, func()) {
return context.WithTimeout(context.Background(), 30*time.Second)
},
ClientCAs: tlsCfg.ClientCAs,
ClientAuth: dtls.ClientAuthType(tlsCfg.ClientAuth),
ClientCAs: tlsCfg.ClientCAs,
ClientAuth: dtls.ClientAuthType(tlsCfg.ClientAuth),
FlightInterval: l.md.flightInterval,
MTU: l.md.mtu,
}
ln, err := dtls.Listen(network, laddr, &config)

View File

@ -1,12 +1,25 @@
package dtls
import (
"time"
mdata "github.com/go-gost/core/metadata"
mdutil "github.com/go-gost/core/metadata/util"
)
type metadata struct {
mtu int
flightInterval time.Duration
}
func (l *dtlsListener) parseMetadata(md mdata.Metadata) (err error) {
return
const (
mtu = "mtu"
flightInterval = "flightInterval"
)
l.md.mtu = mdutil.GetInt(md, mtu)
l.md.flightInterval = mdutil.GetDuration(md, flightInterval)
return nil
}