(f flowtrack.Tuple)
| 37 | } |
| 38 | |
| 39 | func (e *userspaceEngine) removeFlow(f flowtrack.Tuple) (removed bool) { |
| 40 | e.mu.Lock() |
| 41 | defer e.mu.Unlock() |
| 42 | of, ok := e.pendOpen[f] |
| 43 | if !ok { |
| 44 | // Not a tracked flow (likely already removed) |
| 45 | return false |
| 46 | } |
| 47 | of.timer.Stop() |
| 48 | delete(e.pendOpen, f) |
| 49 | return true |
| 50 | } |
| 51 | |
| 52 | func (e *userspaceEngine) noteFlowProblemFromPeer(f flowtrack.Tuple, problem packet.TailscaleRejectReason) { |
| 53 | e.mu.Lock() |
no test coverage detected