(&self, sandbox_id: &str, event: SandboxStreamEvent, tail_cap: usize)
| 115 | const DEFAULT_TAIL: usize = 2000; |
| 116 | |
| 117 | fn publish(&self, sandbox_id: &str, event: SandboxStreamEvent, tail_cap: usize) { |
| 118 | let tx = self.sender_for(sandbox_id); |
| 119 | let _ = tx.send(event.clone()); |
| 120 | |
| 121 | let mut inner = self.inner.lock().expect("tracing bus lock poisoned"); |
| 122 | let deque = inner.tails.entry(sandbox_id.to_string()).or_default(); |
| 123 | deque.push_back(event); |
| 124 | while deque.len() > tail_cap { |
| 125 | deque.pop_front(); |
| 126 | } |
| 127 | } |
| 128 | } |
| 129 | |
| 130 | #[derive(Debug, Clone)] |