fix http2 & tun/tap conn
This commit is contained in:
parent
073ad80ce4
commit
506142fd0b
@ -13,6 +13,7 @@ type conn struct {
|
||||
localAddr net.Addr
|
||||
remoteAddr net.Addr
|
||||
onClose func()
|
||||
md mdata.Metadata
|
||||
}
|
||||
|
||||
func (c *conn) Close() error {
|
||||
@ -50,14 +51,7 @@ func (c *conn) SetWriteDeadline(t time.Time) error {
|
||||
return &net.OpError{Op: "set", Net: "nop", Source: nil, Addr: nil, Err: errors.New("deadline not supported")}
|
||||
}
|
||||
|
||||
type metadataConn struct {
|
||||
net.Conn
|
||||
md mdata.Metadata
|
||||
}
|
||||
|
||||
func withMetadata(md mdata.Metadata, c net.Conn) net.Conn {
|
||||
return &metadataConn{
|
||||
Conn: c,
|
||||
md: md,
|
||||
}
|
||||
// GetMetadata implements metadata.Metadatable interface.
|
||||
func (c *conn) GetMetadata() mdata.Metadata {
|
||||
return c.md
|
||||
}
|
||||
|
@ -98,10 +98,8 @@ func (d *http2Dialer) Dial(ctx context.Context, address string, opts ...dialer.D
|
||||
defer d.clientMutex.Unlock()
|
||||
delete(d.clients, address)
|
||||
},
|
||||
md: md.MapMetadata{"client": client},
|
||||
}
|
||||
c = withMetadata(md.MapMetadata{
|
||||
"client": client,
|
||||
}, c)
|
||||
|
||||
return c, nil
|
||||
}
|
||||
|
@ -52,6 +52,11 @@ type metadataConn struct {
|
||||
md mdata.Metadata
|
||||
}
|
||||
|
||||
// GetMetadata implements metadata.Metadatable interface.
|
||||
func (c *metadataConn) GetMetadata() mdata.Metadata {
|
||||
return c.md
|
||||
}
|
||||
|
||||
func withMetadata(md mdata.Metadata, c net.Conn) net.Conn {
|
||||
return &metadataConn{
|
||||
Conn: c,
|
||||
|
@ -52,6 +52,11 @@ type metadataConn struct {
|
||||
md mdata.Metadata
|
||||
}
|
||||
|
||||
// GetMetadata implements metadata.Metadatable interface.
|
||||
func (c *metadataConn) GetMetadata() mdata.Metadata {
|
||||
return c.md
|
||||
}
|
||||
|
||||
func withMetadata(md mdata.Metadata, c net.Conn) net.Conn {
|
||||
return &metadataConn{
|
||||
Conn: c,
|
||||
|
Loading…
Reference in New Issue
Block a user