Method
cleanupFunc
(si clients.ServerIdentifier, tr *grpcTransport)
Source from the content-addressed store, hash-verified
| 154 | } |
| 155 | |
| 156 | func (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 | |
| 173 | type grpcTransport struct { |
| 174 | cc *grpc.ClientConn |
Tested by
no test coverage detected