fix serial

This commit is contained in:
ginuerzh
2023-10-15 23:55:52 +08:00
parent 497915f465
commit 5ab729b166
9 changed files with 755 additions and 71 deletions

View File

@ -8,11 +8,10 @@ import (
"github.com/go-gost/core/listener"
"github.com/go-gost/core/logger"
md "github.com/go-gost/core/metadata"
serial_util "github.com/go-gost/x/internal/util/serial"
serial "github.com/go-gost/x/internal/util/serial"
limiter "github.com/go-gost/x/limiter/traffic/wrapper"
metrics "github.com/go-gost/x/metrics/wrapper"
"github.com/go-gost/x/registry"
goserial "github.com/tarm/serial"
)
func init() {
@ -35,7 +34,7 @@ func NewListener(opts ...listener.Option) listener.Listener {
}
if options.Addr == "" {
options.Addr = serial_util.DefaultPort
options.Addr = serial.DefaultPort
}
return &serialListener{
@ -49,7 +48,7 @@ func (l *serialListener) Init(md md.Metadata) (err error) {
return
}
l.addr = &serial_util.Addr{Port: l.options.Addr}
l.addr = &serial.Addr{Port: l.options.Addr}
l.cqueue = make(chan net.Conn)
l.closed = make(chan struct{})
@ -87,14 +86,14 @@ func (l *serialListener) listenLoop() {
for {
ctx, cancel := context.WithCancel(context.Background())
err := func() error {
cfg := serial_util.ParseConfigFromAddr(l.options.Addr)
cfg := serial.ParseConfigFromAddr(l.options.Addr)
cfg.ReadTimeout = l.md.timeout
port, err := goserial.OpenPort(cfg)
port, err := serial.OpenPort(cfg)
if err != nil {
return err
}
c := serial_util.NewConn(port, l.addr, cancel)
c := serial.NewConn(port, l.addr, cancel)
c = metrics.WrapConn(l.options.Service, c)
c = limiter.WrapConn(l.options.TrafficLimiter, c)