package tcp import ( "time" md "github.com/go-gost/core/metadata" mdutil "github.com/go-gost/x/metadata/util" ) const ( dialTimeout = "dialTimeout" ) const ( defaultDialTimeout = 5 * time.Second ) type metadata struct { dialTimeout time.Duration keepalive bool keepaliveIdle time.Duration keepaliveInterval time.Duration keepaliveCount int } func (d *tcpDialer) parseMetadata(md md.Metadata) (err error) { d.md.keepalive = mdutil.GetBool(md, "keepalive") d.md.keepaliveIdle = mdutil.GetDuration(md, "keepalive.idle") d.md.keepaliveInterval = mdutil.GetDuration(md, "keepalive.interval") d.md.keepaliveCount = mdutil.GetInt(md, "keepalive.count") return }