summaryrefslogtreecommitdiff
path: root/vendor/google.golang.org/grpc/internal/channelz/funcs.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/google.golang.org/grpc/internal/channelz/funcs.go')
-rw-r--r--vendor/google.golang.org/grpc/internal/channelz/funcs.go21
1 files changed, 11 insertions, 10 deletions
diff --git a/vendor/google.golang.org/grpc/internal/channelz/funcs.go b/vendor/google.golang.org/grpc/internal/channelz/funcs.go
index f461e9bc3..03e24e150 100644
--- a/vendor/google.golang.org/grpc/internal/channelz/funcs.go
+++ b/vendor/google.golang.org/grpc/internal/channelz/funcs.go
@@ -143,20 +143,21 @@ func RegisterChannel(parent *Channel, target string) *Channel {
// Returns a unique channelz identifier assigned to this subChannel.
//
// If channelz is not turned ON, the channelz database is not mutated.
-func RegisterSubChannel(pid int64, ref string) *SubChannel {
+func RegisterSubChannel(parent *Channel, ref string) *SubChannel {
id := IDGen.genID()
- if !IsOn() {
- return &SubChannel{ID: id}
- }
-
sc := &SubChannel{
- RefName: ref,
ID: id,
- sockets: make(map[int64]string),
- parent: db.getChannel(pid),
- trace: &ChannelTrace{CreationTime: time.Now(), Events: make([]*traceEvent, 0, getMaxTraceEntry())},
+ RefName: ref,
+ parent: parent,
}
- db.addSubChannel(id, sc, pid)
+
+ if !IsOn() {
+ return sc
+ }
+
+ sc.sockets = make(map[int64]string)
+ sc.trace = &ChannelTrace{CreationTime: time.Now(), Events: make([]*traceEvent, 0, getMaxTraceEntry())}
+ db.addSubChannel(id, sc, parent.ID)
return sc
}