gost/pkg/dialer/dialer.go
2021-12-16 19:03:56 +08:00

23 lines
458 B
Go

package dialer
import (
"context"
"net"
"github.com/go-gost/gost/pkg/metadata"
)
// Transporter is responsible for dialing to the proxy server.
type Dialer interface {
Init(metadata.Metadata) error
Dial(ctx context.Context, addr string, opts ...DialOption) (net.Conn, error)
}
type Handshaker interface {
Handshake(ctx context.Context, conn net.Conn, opts ...HandshakeOption) (net.Conn, error)
}
type Multiplexer interface {
IsMultiplex() bool
}