removeEntry triggers the removal of an entry, which may not indeed delete the entry, if it has to wait on the deletion of its children and until no other entity's channel trace references it. It may lead to a chain of entry deletion. For example, deleting the last socket of a gracefully shutting do
(id int64)
| 122 | // deletion. For example, deleting the last socket of a gracefully shutting down |
| 123 | // server will lead to the server being also deleted. |
| 124 | func (c *channelMap) removeEntry(id int64) { |
| 125 | c.mu.Lock() |
| 126 | defer c.mu.Unlock() |
| 127 | c.findEntry(id).triggerDelete() |
| 128 | } |
| 129 | |
| 130 | // tracedChannel represents tracing operations which are present on both |
| 131 | // channels and subChannels. |
no test coverage detected