feat: transport refactorization

This commit is contained in:
Toby
2022-01-23 17:00:02 -08:00
parent 013e44a9c5
commit 841810d6ca
26 changed files with 381 additions and 325 deletions

View File

@@ -2,7 +2,6 @@ package relay
import (
"github.com/tobyxdd/hysteria/pkg/core"
"github.com/tobyxdd/hysteria/pkg/transport"
"github.com/tobyxdd/hysteria/pkg/utils"
"net"
"time"
@@ -10,7 +9,6 @@ import (
type TCPRelay struct {
HyClient *core.Client
Transport transport.Transport
ListenAddr *net.TCPAddr
Remote string
Timeout time.Duration
@@ -19,15 +17,14 @@ type TCPRelay struct {
ErrorFunc func(addr net.Addr, err error)
}
func NewTCPRelay(hyClient *core.Client, transport transport.Transport, listen, remote string, timeout time.Duration,
func NewTCPRelay(hyClient *core.Client, listen, remote string, timeout time.Duration,
connFunc func(addr net.Addr), errorFunc func(addr net.Addr, err error)) (*TCPRelay, error) {
tAddr, err := transport.LocalResolveTCPAddr(listen)
tAddr, err := net.ResolveTCPAddr("tcp", listen)
if err != nil {
return nil, err
}
r := &TCPRelay{
HyClient: hyClient,
Transport: transport,
ListenAddr: tAddr,
Remote: remote,
Timeout: timeout,
@@ -38,7 +35,7 @@ func NewTCPRelay(hyClient *core.Client, transport transport.Transport, listen, r
}
func (r *TCPRelay) ListenAndServe() error {
listener, err := r.Transport.LocalListenTCP(r.ListenAddr)
listener, err := net.ListenTCP("tcp", r.ListenAddr)
if err != nil {
return err
}