MCPcopy
hub / github.com/grpc/grpc-go / cleanupFunc

Method cleanupFunc

internal/xds/clients/grpctransport/grpc_transport.go:156–171  ·  view source on GitHub ↗
(si clients.ServerIdentifier, tr *grpcTransport)

Source from the content-addressed store, hash-verified

154}
155
156func (b *Builder) cleanupFunc(si clients.ServerIdentifier, tr *grpcTransport) func() {
157 return sync.OnceFunc(func() {
158 b.mu.Lock()
159 defer b.mu.Unlock()
160
161 b.refs[si]--
162 if b.refs[si] != 0 {
163 return
164 }
165
166 tr.cc.Close()
167 tr.cc = nil
168 delete(b.connections, si)
169 delete(b.refs, si)
170 })
171}
172
173type grpcTransport struct {
174 cc *grpc.ClientConn

Callers 1

BuildMethod · 0.95

Calls 3

CloseMethod · 0.65
LockMethod · 0.45
UnlockMethod · 0.45

Tested by

no test coverage detected