Skip to content

Commit

Permalink
Restructure interface
Browse files Browse the repository at this point in the history
  • Loading branch information
hzyitc committed Nov 16, 2021
1 parent 353c241 commit 81220c7
Show file tree
Hide file tree
Showing 14 changed files with 63 additions and 35 deletions.
8 changes: 6 additions & 2 deletions TCPMode/demoWeb.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,10 @@ func (s *demoWeb) Close() error {
return err
}

func (s *demoWeb) LocalServiceAddr() net.Addr {
return s.listener.LocalServiceAddr()
func (s *demoWeb) LocalHoleAddr() net.Addr {
return s.listener.LocalHoleAddr()
}

func (s *demoWeb) ServiceAddr() net.Addr {
return s.listener.ServiceAddr()
}
3 changes: 2 additions & 1 deletion TCPMode/interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@ type Interface interface {
ClosedChan() <-chan struct{}
Close() error

LocalServiceAddr() net.Addr
LocalHoleAddr() net.Addr
ServiceAddr() net.Addr
}
10 changes: 6 additions & 4 deletions TCPMode/listener.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,10 @@ func (s *listener) Close() error {
}
}

func (s *listener) LocalServiceAddr() net.Addr {
return &net.TCPAddr{
Port: s.port,
}
func (s *listener) LocalHoleAddr() net.Addr {
return s.reuse.LocalHoleAddr()
}

func (s *listener) ServiceAddr() net.Addr {
return s.Listener.Addr()
}
6 changes: 5 additions & 1 deletion TCPMode/proxy.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,10 @@ func (s *proxy) Close() error {
return err
}

func (s *proxy) LocalServiceAddr() net.Addr {
func (s *proxy) LocalHoleAddr() net.Addr {
return s.listener.LocalHoleAddr()
}

func (s *proxy) ServiceAddr() net.Addr {
return &s.service
}
8 changes: 7 additions & 1 deletion TCPMode/reuse.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,13 @@ func (s *reuse) Close() error {
return err
}

func (s *reuse) LocalServiceAddr() net.Addr {
func (s *reuse) LocalHoleAddr() net.Addr {
return &net.TCPAddr{
Port: s.port,
}
}

func (s *reuse) ServiceAddr() net.Addr {
return &net.TCPAddr{
Port: s.port,
}
Expand Down
4 changes: 2 additions & 2 deletions TCPProtocol/interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ type Interface interface {
ClosedChan() <-chan struct{}
Close() error

RemoteServerAddr() net.Addr
ServerAddr() net.Addr
LocalHoleAddr() net.Addr
RemoteHoleAddr() net.Addr
NATedAddr() net.Addr
}
4 changes: 2 additions & 2 deletions TCPProtocol/mnhv1.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,14 +131,14 @@ func (s *mnhv1) Close() error {
return err
}

func (s *mnhv1) RemoteServerAddr() net.Addr {
func (s *mnhv1) ServerAddr() net.Addr {
return s.conn.RemoteAddr()
}

func (s *mnhv1) LocalHoleAddr() net.Addr {
return s.conn.LocalAddr()
}

func (s *mnhv1) RemoteHoleAddr() net.Addr {
func (s *mnhv1) NATedAddr() net.Addr {
return s.holeAddr
}
8 changes: 6 additions & 2 deletions UDPMode/demoEcho.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,10 @@ func (s *demoEcho) Close() error {
return err
}

func (s *demoEcho) LocalServiceAddr() net.Addr {
return s.listener.LocalServiceAddr()
func (s *demoEcho) LocalHoleAddr() net.Addr {
return s.listener.LocalHoleAddr()
}

func (s *demoEcho) ServiceAddr() net.Addr {
return s.listener.ServiceAddr()
}
3 changes: 2 additions & 1 deletion UDPMode/interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,6 @@ type Interface interface {
ClosedChan() <-chan struct{}
Close() error

LocalServiceAddr() net.Addr
LocalHoleAddr() net.Addr
ServiceAddr() net.Addr
}
10 changes: 6 additions & 4 deletions UDPMode/listener.go
Original file line number Diff line number Diff line change
Expand Up @@ -235,10 +235,12 @@ func (s *listener) LocalAddr() net.Addr {
return s.server.LocalAddr()
}

func (s *listener) LocalServiceAddr() net.Addr {
return &net.UDPAddr{
Port: s.port,
}
func (s *listener) LocalHoleAddr() net.Addr {
return s.server.LocalAddr()
}

func (s *listener) ServiceAddr() net.Addr {
return s.server.LocalAddr()
}

func (s *listener) SetDeadline(t time.Time) error {
Expand Down
6 changes: 5 additions & 1 deletion UDPMode/proxy.go
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,10 @@ func (s *proxy) Close() error {
return err
}

func (s *proxy) LocalServiceAddr() net.Addr {
func (s *proxy) LocalHoleAddr() net.Addr {
return s.listener.LocalAddr()
}

func (s *proxy) ServiceAddr() net.Addr {
return &s.service
}
4 changes: 2 additions & 2 deletions UDPProtocol/interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ type Interface interface {
ClosedChan() <-chan struct{}
Close() error

RemoteServerAddr() net.Addr
ServerAddr() net.Addr
LocalHoleAddr() net.Addr
RemoteHoleAddr() net.Addr
NATedAddr() net.Addr
}
4 changes: 2 additions & 2 deletions UDPProtocol/mnhv1.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,14 +132,14 @@ func (s *mnhv1) Close() error {
return err
}

func (s *mnhv1) RemoteServerAddr() net.Addr {
func (s *mnhv1) ServerAddr() net.Addr {
return s.conn.RemoteAddr()
}

func (s *mnhv1) LocalHoleAddr() net.Addr {
return s.conn.LocalAddr()
}

func (s *mnhv1) RemoteHoleAddr() net.Addr {
func (s *mnhv1) NATedAddr() net.Addr {
return s.holeAddr
}
20 changes: 10 additions & 10 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -168,15 +168,15 @@ func tcp() {
}
defer protocol.Close()

log.Info("LocalServiceAddr", mode.LocalServiceAddr().String())
log.Info("RemoteServerAddr", protocol.RemoteServerAddr().String())
log.Info("RemoteHoleAddr", protocol.RemoteHoleAddr().String())
log.Info("ServiceAddr", mode.ServiceAddr().String())
log.Info("ServerAddr", protocol.ServerAddr().String())
log.Info("NATedAddr", protocol.NATedAddr().String())
log.Info("LocalHoleAddr", protocol.LocalHoleAddr().String())

log.Info("\n\nNow you can use " + protocol.RemoteHoleAddr().String() + " to access your service")
log.Info("\n\nNow you can use " + protocol.NATedAddr().String() + " to access your service")

_, port, _ := net.SplitHostPort(protocol.LocalHoleAddr().String())
addr := protocol.RemoteHoleAddr().String()
addr := protocol.NATedAddr().String()
runHook("success", "", port, addr)
defer runHook("disconnected", "", port, addr)

Expand Down Expand Up @@ -247,15 +247,15 @@ func udp() {
}
defer protocol.Close()

log.Info("LocalServiceAddr", mode.LocalServiceAddr().String())
log.Info("RemoteServerAddr", protocol.RemoteServerAddr().String())
log.Info("RemoteHoleAddr", protocol.RemoteHoleAddr().String())
log.Info("ServiceAddr", mode.ServiceAddr().String())
log.Info("ServerAddr", protocol.ServerAddr().String())
log.Info("NATedAddr", protocol.NATedAddr().String())
log.Info("LocalHoleAddr", protocol.LocalHoleAddr().String())

log.Info("\n\nNow you can use " + protocol.RemoteHoleAddr().String() + " to access your service")
log.Info("\n\nNow you can use " + protocol.NATedAddr().String() + " to access your service")

_, port, _ := net.SplitHostPort(protocol.LocalHoleAddr().String())
addr := protocol.RemoteHoleAddr().String()
addr := protocol.NATedAddr().String()
runHook("success", "", port, addr)
defer runHook("disconnected", "", port, addr)

Expand Down

0 comments on commit 81220c7

Please sign in to comment.