-
Notifications
You must be signed in to change notification settings - Fork 173
/
cells-message_grpc.enhanced.pb.go
85 lines (78 loc) · 2.5 KB
/
cells-message_grpc.enhanced.pb.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.1.0
// - protoc v3.18.1
// source: cells-message.proto
package broker
import (
fmt "fmt"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
metadata "google.golang.org/grpc/metadata"
status "google.golang.org/grpc/status"
sync "sync"
)
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
var (
enhancedBrokerServers = make(map[string]BrokerEnhancedServer)
enhancedBrokerServersLock = sync.RWMutex{}
)
type NamedBrokerServer interface {
BrokerServer
Name() string
}
type BrokerEnhancedServer map[string]NamedBrokerServer
func (m BrokerEnhancedServer) Publish(s Broker_PublishServer) error {
md, ok := metadata.FromIncomingContext(s.Context())
if !ok || len(md.Get("targetname")) == 0 {
return status.Errorf(codes.FailedPrecondition, "method Publish should have a context")
}
enhancedBrokerServersLock.RLock()
defer enhancedBrokerServersLock.RUnlock()
for _, mm := range m {
if mm.Name() == md.Get("targetname")[0] {
return mm.Publish(s)
}
}
return status.Errorf(codes.Unimplemented, "method Publish not implemented")
}
func (m BrokerEnhancedServer) Subscribe(s Broker_SubscribeServer) error {
md, ok := metadata.FromIncomingContext(s.Context())
if !ok || len(md.Get("targetname")) == 0 {
return status.Errorf(codes.FailedPrecondition, "method Subscribe should have a context")
}
enhancedBrokerServersLock.RLock()
defer enhancedBrokerServersLock.RUnlock()
for _, mm := range m {
if mm.Name() == md.Get("targetname")[0] {
return mm.Subscribe(s)
}
}
return status.Errorf(codes.Unimplemented, "method Subscribe not implemented")
}
func (m BrokerEnhancedServer) mustEmbedUnimplementedBrokerServer() {}
func RegisterBrokerEnhancedServer(s grpc.ServiceRegistrar, srv NamedBrokerServer) {
enhancedBrokerServersLock.Lock()
defer enhancedBrokerServersLock.Unlock()
addr := fmt.Sprintf("%p", s)
m, ok := enhancedBrokerServers[addr]
if !ok {
m = BrokerEnhancedServer{}
enhancedBrokerServers[addr] = m
RegisterBrokerServer(s, m)
}
m[srv.Name()] = srv
}
func DeregisterBrokerEnhancedServer(s grpc.ServiceRegistrar, name string) {
enhancedBrokerServersLock.Lock()
defer enhancedBrokerServersLock.Unlock()
addr := fmt.Sprintf("%p", s)
m, ok := enhancedBrokerServers[addr]
if !ok {
return
}
delete(m, name)
}