Remove the watcher for `group_id`. Wakes outstanding waiters with [`WaitOutcome::GroupGone`]. Idempotent.
(&self, group_id: u64)
| 68 | /// Remove the watcher for `group_id`. Wakes outstanding waiters |
| 69 | /// with [`WaitOutcome::GroupGone`]. Idempotent. |
| 70 | pub fn remove(&self, group_id: u64) { |
| 71 | let removed = { |
| 72 | let mut w = self.inner.write().unwrap_or_else(|p| p.into_inner()); |
| 73 | w.remove(&group_id) |
| 74 | }; |
| 75 | if let Some(w) = removed { |
| 76 | w.close(); |
| 77 | } |
| 78 | } |
| 79 | |
| 80 | /// Block until `group_id`'s applied watermark reaches `target`, |
| 81 | /// the timeout elapses, or the group is removed. Lazily creates |