Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(448)

Side by Side Diff: grpc/grpcutil/errors.go

Issue 2963503003: [errors] Greatly simplify common/errors package. (Closed)
Patch Set: fix nits Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « dm/tools/dmtool/vizQuery.go ('k') | grpc/prpc/client.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The LUCI Authors. All rights reserved. 1 // Copyright 2016 The LUCI Authors. All rights reserved.
2 // Use of this source code is governed under the Apache License, Version 2.0 2 // Use of this source code is governed under the Apache License, Version 2.0
3 // that can be found in the LICENSE file. 3 // that can be found in the LICENSE file.
4 4
5 package grpcutil 5 package grpcutil
6 6
7 import ( 7 import (
8 "google.golang.org/grpc" 8 "google.golang.org/grpc"
9 "google.golang.org/grpc/codes" 9 "google.golang.org/grpc/codes"
10 10
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 } 82 }
83 83
84 if IsTransientCode(Code(err)) { 84 if IsTransientCode(Code(err)) {
85 err = transient.Tag.Apply(err) 85 err = transient.Tag.Apply(err)
86 } 86 }
87 return err 87 return err
88 } 88 }
89 89
90 type grpcCodeTag struct{ Key errors.TagKey } 90 type grpcCodeTag struct{ Key errors.TagKey }
91 91
92 func (g grpcCodeTag) With(code codes.Code) errors.TagValue { return errors.MkTag Value(g.Key, code) } 92 func (g grpcCodeTag) With(code codes.Code) errors.TagValue {
93 » return errors.TagValue{Key: g.Key, Value: code}
94 }
93 func (g grpcCodeTag) In(err error) (v codes.Code, ok bool) { 95 func (g grpcCodeTag) In(err error) (v codes.Code, ok bool) {
94 d, ok := errors.TagValueIn(g.Key, err) 96 d, ok := errors.TagValueIn(g.Key, err)
95 if ok { 97 if ok {
96 v = d.(codes.Code) 98 v = d.(codes.Code)
97 } 99 }
98 return 100 return
99 } 101 }
100 102
101 // Tag may be used to associate a gRPC status code with this error. 103 // Tag may be used to associate a gRPC status code with this error.
102 // 104 //
(...skipping 20 matching lines...) Expand all
123 // transient gRPC error type. 125 // transient gRPC error type.
124 func IsTransientCode(code codes.Code) bool { 126 func IsTransientCode(code codes.Code) bool {
125 switch code { 127 switch code {
126 case codes.Internal, codes.Unknown, codes.Unavailable: 128 case codes.Internal, codes.Unknown, codes.Unavailable:
127 return true 129 return true
128 130
129 default: 131 default:
130 return false 132 return false
131 } 133 }
132 } 134 }
OLDNEW
« no previous file with comments | « dm/tools/dmtool/vizQuery.go ('k') | grpc/prpc/client.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698