fix direct dialer

This commit is contained in:
ginuerzh
2022-11-29 09:45:19 +08:00
parent 745196d805
commit 82fff4976a
5 changed files with 48 additions and 5 deletions

41
dialer/direct/conn.go Normal file
View File

@ -0,0 +1,41 @@
package direct
import (
"errors"
"net"
"time"
)
type conn struct{}
func (c *conn) Close() error {
return nil
}
func (c *conn) Read(b []byte) (n int, err error) {
return 0, &net.OpError{Op: "read", Net: "nop", Source: nil, Addr: nil, Err: errors.New("read not supported")}
}
func (c *conn) Write(b []byte) (n int, err error) {
return 0, &net.OpError{Op: "write", Net: "nop", Source: nil, Addr: nil, Err: errors.New("write not supported")}
}
func (c *conn) LocalAddr() net.Addr {
return &net.TCPAddr{}
}
func (c *conn) RemoteAddr() net.Addr {
return &net.TCPAddr{}
}
func (c *conn) SetDeadline(t time.Time) error {
return &net.OpError{Op: "set", Net: "nop", Source: nil, Addr: nil, Err: errors.New("deadline not supported")}
}
func (c *conn) SetReadDeadline(t time.Time) error {
return &net.OpError{Op: "set", Net: "nop", Source: nil, Addr: nil, Err: errors.New("deadline not supported")}
}
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")}
}

View File

@ -1,4 +1,4 @@
package tcp
package direct
import (
"context"
@ -12,6 +12,7 @@ import (
func init() {
registry.DialerRegistry().Register("direct", NewDialer)
registry.DialerRegistry().Register("virtual", NewDialer)
}
type directDialer struct {
@ -34,5 +35,5 @@ func (d *directDialer) Init(md md.Metadata) (err error) {
}
func (d *directDialer) Dial(ctx context.Context, addr string, opts ...dialer.DialOption) (net.Conn, error) {
return nil, nil
return &conn{}, nil
}