add unix domain socket

This commit is contained in:
ginuerzh
2023-09-16 23:14:12 +08:00
parent 92db078642
commit f2ff1aa45a
7 changed files with 251 additions and 4 deletions

View File

@ -19,7 +19,6 @@ import (
func init() {
registry.HandlerRegistry().Register("serial", NewHandler)
registry.HandlerRegistry().Register("com", NewHandler)
}
type serialHandler struct {
@ -117,10 +116,12 @@ func (h *serialHandler) Handle(ctx context.Context, conn net.Conn, opts ...handl
func (h *serialHandler) forwardSerial(ctx context.Context, conn net.Conn, target *chain.Node, log logger.Logger) (err error) {
var port io.ReadWriteCloser
cfg := serial_util.ParseConfigFromAddr(conn.LocalAddr().String())
cfg.Name = target.Addr
if opts := h.router.Options(); opts != nil && opts.Chain != nil {
port, err = h.router.Dial(ctx, "serial", target.Addr)
port, err = h.router.Dial(ctx, "serial", serial_util.AddrFromConfig(cfg))
} else {
cfg := serial_util.ParseConfigFromAddr(target.Addr)
cfg.ReadTimeout = h.md.timeout
port, err = goserial.OpenPort(cfg)
}