(&mut self, tenant_id: u64, name: &str)
| 60 | } |
| 61 | |
| 62 | fn remove(&mut self, tenant_id: u64, name: &str) -> bool { |
| 63 | let key_name = (tenant_id, name.to_string()); |
| 64 | let Some(prev) = self.by_name.remove(&key_name) else { |
| 65 | return false; |
| 66 | }; |
| 67 | let key_coll = (prev.tenant_id, prev.collection.clone()); |
| 68 | if let Some(bucket) = self.by_collection.get_mut(&key_coll) { |
| 69 | bucket.retain(|d| d.name != prev.name); |
| 70 | if bucket.is_empty() { |
| 71 | self.by_collection.remove(&key_coll); |
| 72 | } |
| 73 | } |
| 74 | true |
| 75 | } |
| 76 | } |
| 77 | |
| 78 | pub struct StreamRegistry { |