Compare commits

...

2 Commits

Author SHA1 Message Date
hmol233
dee122c5f3 Add WithDisableRetry 2021-06-13 14:34:19 +08:00
hmol233
ba4aa2896d I don't know what's going wrong :( 2021-06-13 14:16:08 +08:00

View File

@@ -52,7 +52,7 @@ func dialgRPC(ctx context.Context, dest net.Destination, streamSettings *interne
conn, err := getGrpcClient(ctx, dest, tlsConfig, streamSettings.SocketSettings) conn, err := getGrpcClient(ctx, dest, tlsConfig, streamSettings.SocketSettings)
if err != nil { if err != nil {
return nil, newError("Cannot dial gRPC").Base(err) return nil, newError("failed to dial gRPC").Base(err)
} }
client := encoding.NewGRPCServiceClient(conn) client := encoding.NewGRPCServiceClient(conn)
if grpcSettings.MultiMode { if grpcSettings.MultiMode {
@@ -113,12 +113,6 @@ func getGrpcClient(ctx context.Context, dest net.Destination, tlsConfig *tls.Con
gctx = session.ContextWithOutbound(gctx, session.OutboundFromContext(ctx)) gctx = session.ContextWithOutbound(gctx, session.OutboundFromContext(ctx))
rawHost, rawPort, err := net.SplitHostPort(s) rawHost, rawPort, err := net.SplitHostPort(s)
select {
case <-gctx.Done():
return nil, gctx.Err()
default:
}
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -130,8 +124,15 @@ func getGrpcClient(ctx context.Context, dest net.Destination, tlsConfig *tls.Con
return nil, err return nil, err
} }
address := net.ParseAddress(rawHost) address := net.ParseAddress(rawHost)
return internet.DialSystem(gctx, net.TCPDestination(address, port), sockopt) conn, err := internet.DialSystem(gctx, net.TCPDestination(address, port), sockopt)
if err != nil {
newError("failed to dial connection for gRPC").Base(err).WriteToLog()
}
return conn, err
}), }),
grpc.WithBlock(),
grpc.WithReturnConnectionError(),
grpc.WithDisableRetry(),
) )
globalDialerMap[dialerConf{dest, sockopt, tlsConfig}] = conn globalDialerMap[dialerConf{dest, sockopt, tlsConfig}] = conn
return conn, err return conn, err