现在已注册的节点会检查并更新 host;修复一个导致断开的连接没有正常退出的问题
This commit is contained in:
@@ -9,9 +9,9 @@ import (
|
||||
"syscall"
|
||||
)
|
||||
|
||||
func WarpConnErr(err error) error {
|
||||
func WarpConnErr(err error) (bool, error) {
|
||||
if err == nil {
|
||||
return nil
|
||||
return true, nil
|
||||
}
|
||||
|
||||
var opErr *net.OpError
|
||||
@@ -19,11 +19,11 @@ func WarpConnErr(err error) error {
|
||||
|
||||
case errors.Is(err, net.ErrClosed):
|
||||
slog.Debug("连接已关闭")
|
||||
return nil
|
||||
return false, nil
|
||||
|
||||
case errors.Is(err, io.EOF):
|
||||
slog.Debug("连接被对端关闭")
|
||||
return nil
|
||||
return false, nil
|
||||
|
||||
case errors.As(err, &opErr):
|
||||
switch {
|
||||
@@ -31,11 +31,11 @@ func WarpConnErr(err error) error {
|
||||
errors.Is(opErr.Err, syscall.WSAECONNRESET), errors.Is(opErr.Err, syscall.WSAECONNABORTED),
|
||||
errors.Is(opErr.Err, syscall.ECONNRESET), errors.Is(opErr.Err, syscall.ECONNABORTED):
|
||||
slog.Debug("连接被对端重置")
|
||||
return nil
|
||||
return false, nil
|
||||
case opErr.Timeout():
|
||||
slog.Debug("连接已超时")
|
||||
return nil
|
||||
return false, nil
|
||||
}
|
||||
}
|
||||
return fmt.Errorf("连接发生未处理的错误: %w", err)
|
||||
return false, fmt.Errorf("连接发生未处理的错误: %w", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user