Rename the original relay to TCPRelay

This commit is contained in:
Toby 2021-04-21 16:38:08 -07:00
parent 51abb06911
commit d8b198ca31
2 changed files with 9 additions and 12 deletions

View File

@ -183,7 +183,7 @@ func client(config *clientConfig) {
if len(config.Relay.Listen) > 0 { if len(config.Relay.Listen) > 0 {
go func() { go func() {
rl, err := relay.NewRelay(client, config.Relay.Listen, config.Relay.Remote, rl, err := relay.NewTCPRelay(client, config.Relay.Listen, config.Relay.Remote,
time.Duration(config.Relay.Timeout)*time.Second, time.Duration(config.Relay.Timeout)*time.Second,
func(addr net.Addr) { func(addr net.Addr) {
logrus.WithFields(logrus.Fields{ logrus.WithFields(logrus.Fields{

View File

@ -7,7 +7,7 @@ import (
"time" "time"
) )
type Relay struct { type TCPRelay struct {
HyClient *core.Client HyClient *core.Client
ListenAddr *net.TCPAddr ListenAddr *net.TCPAddr
Remote string Remote string
@ -15,17 +15,15 @@ type Relay struct {
ConnFunc func(addr net.Addr) ConnFunc func(addr net.Addr)
ErrorFunc func(addr net.Addr, err error) ErrorFunc func(addr net.Addr, err error)
tcpListener *net.TCPListener
} }
func NewRelay(hyClient *core.Client, 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)) (*Relay, error) { connFunc func(addr net.Addr), errorFunc func(addr net.Addr, err error)) (*TCPRelay, error) {
tAddr, err := net.ResolveTCPAddr("tcp", listen) tAddr, err := net.ResolveTCPAddr("tcp", listen)
if err != nil { if err != nil {
return nil, err return nil, err
} }
r := &Relay{ r := &TCPRelay{
HyClient: hyClient, HyClient: hyClient,
ListenAddr: tAddr, ListenAddr: tAddr,
Remote: remote, Remote: remote,
@ -36,15 +34,14 @@ func NewRelay(hyClient *core.Client, listen, remote string, timeout time.Duratio
return r, nil return r, nil
} }
func (r *Relay) ListenAndServe() error { func (r *TCPRelay) ListenAndServe() error {
var err error listener, err := net.ListenTCP("tcp", r.ListenAddr)
r.tcpListener, err = net.ListenTCP("tcp", r.ListenAddr)
if err != nil { if err != nil {
return err return err
} }
defer r.tcpListener.Close() defer listener.Close()
for { for {
c, err := r.tcpListener.AcceptTCP() c, err := listener.AcceptTCP()
if err != nil { if err != nil {
return err return err
} }