github.com/ydb-platform/ydb-go-sdk/v3@v3.89.2/internal/conn/errors.go (about)

     1  package conn
     2  
     3  import (
     4  	grpcCodes "google.golang.org/grpc/codes"
     5  
     6  	"github.com/ydb-platform/ydb-go-sdk/v3/internal/xerrors"
     7  )
     8  
     9  func IsBadConn(err error, goodConnCodes ...grpcCodes.Code) bool {
    10  	if !xerrors.IsTransportError(err) {
    11  		return false
    12  	}
    13  
    14  	if xerrors.IsTransportError(err,
    15  		append(
    16  			goodConnCodes,
    17  			grpcCodes.ResourceExhausted,
    18  			grpcCodes.OutOfRange,
    19  			grpcCodes.OK,
    20  			// grpcCodes.Canceled,
    21  			// grpcCodes.Unknown,
    22  			// grpcCodes.InvalidArgument,
    23  			// grpcCodes.DeadlineExceeded,
    24  			// grpcCodes.NotFound,
    25  			// grpcCodes.AlreadyExists,
    26  			// grpcCodes.PermissionDenied,
    27  			// grpcCodes.FailedPrecondition,
    28  			// grpcCodes.Aborted,
    29  			// grpcCodes.OutOfRange,
    30  			// grpcCodes.Unimplemented,
    31  			// grpcCodes.Internal,
    32  			// grpcCodes.DataLoss,
    33  			// grpcCodes.Unauthenticated,
    34  		)...,
    35  	) {
    36  		return false
    37  	}
    38  
    39  	return true
    40  }