diff options
Diffstat (limited to 'vendor/google.golang.org/grpc/peer')
-rw-r--r-- | vendor/google.golang.org/grpc/peer/peer.go | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/vendor/google.golang.org/grpc/peer/peer.go b/vendor/google.golang.org/grpc/peer/peer.go new file mode 100644 index 0000000..317b8b9 --- /dev/null +++ b/vendor/google.golang.org/grpc/peer/peer.go | |||
@@ -0,0 +1,51 @@ | |||
1 | /* | ||
2 | * | ||
3 | * Copyright 2014 gRPC authors. | ||
4 | * | ||
5 | * Licensed under the Apache License, Version 2.0 (the "License"); | ||
6 | * you may not use this file except in compliance with the License. | ||
7 | * You may obtain a copy of the License at | ||
8 | * | ||
9 | * http://www.apache.org/licenses/LICENSE-2.0 | ||
10 | * | ||
11 | * Unless required by applicable law or agreed to in writing, software | ||
12 | * distributed under the License is distributed on an "AS IS" BASIS, | ||
13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
14 | * See the License for the specific language governing permissions and | ||
15 | * limitations under the License. | ||
16 | * | ||
17 | */ | ||
18 | |||
19 | // Package peer defines various peer information associated with RPCs and | ||
20 | // corresponding utils. | ||
21 | package peer | ||
22 | |||
23 | import ( | ||
24 | "net" | ||
25 | |||
26 | "golang.org/x/net/context" | ||
27 | "google.golang.org/grpc/credentials" | ||
28 | ) | ||
29 | |||
30 | // Peer contains the information of the peer for an RPC, such as the address | ||
31 | // and authentication information. | ||
32 | type Peer struct { | ||
33 | // Addr is the peer address. | ||
34 | Addr net.Addr | ||
35 | // AuthInfo is the authentication information of the transport. | ||
36 | // It is nil if there is no transport security being used. | ||
37 | AuthInfo credentials.AuthInfo | ||
38 | } | ||
39 | |||
40 | type peerKey struct{} | ||
41 | |||
42 | // NewContext creates a new context with peer information attached. | ||
43 | func NewContext(ctx context.Context, p *Peer) context.Context { | ||
44 | return context.WithValue(ctx, peerKey{}, p) | ||
45 | } | ||
46 | |||
47 | // FromContext returns the peer information in ctx if it exists. | ||
48 | func FromContext(ctx context.Context) (p *Peer, ok bool) { | ||
49 | p, ok = ctx.Value(peerKey{}).(*Peer) | ||
50 | return | ||
51 | } | ||