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