trpc.group/trpc-go/trpc-go@v1.0.3/client/full_link_timeout.go (about)

     1  //
     2  //
     3  // Tencent is pleased to support the open source community by making tRPC available.
     4  //
     5  // Copyright (C) 2023 THL A29 Limited, a Tencent company.
     6  // All rights reserved.
     7  //
     8  // If you have downloaded a copy of the tRPC source code from Tencent,
     9  // please note that tRPC source code is licensed under the  Apache 2.0 License,
    10  // A copy of the Apache 2.0 License is included in this file.
    11  //
    12  //
    13  
    14  package client
    15  
    16  import "trpc.group/trpc-go/trpc-go/errs"
    17  
    18  // mayConvert2FullLinkTimeout infers whether an error is caused by a full-link
    19  // timeout. If so, it returns the full-link timeout error.
    20  func mayConvert2FullLinkTimeout(err error) error {
    21  	if e, ok := err.(*errs.Error); ok && e.IsTimeout(errs.ErrorTypeFramework) {
    22  		e.Code = errs.RetClientFullLinkTimeout
    23  	}
    24  	return err
    25  }