diff options
Diffstat (limited to 'src/server/client_transport.rs')
| -rw-r--r-- | src/server/client_transport.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/server/client_transport.rs b/src/server/client_transport.rs index 0d297fb9..465408f5 100644 --- a/src/server/client_transport.rs +++ b/src/server/client_transport.rs @@ -132,6 +132,24 @@ impl ClientWriter { self.render.queue.discard_pending_render(); } + #[cfg(all(test, unix))] + pub(crate) fn test_paused() -> Self { + let queue = ClientWriterQueue::new(); + Self { + control: ClientControlWriter::queue(queue.clone()), + render: ClientRenderWriter::queue(queue), + } + } + + #[cfg(all(test, unix))] + pub(crate) fn test_drain(&self) -> Vec<Vec<u8>> { + let mut state = self.render.queue.lock_state(); + let mut frames = state.control.drain(..).collect::<Vec<_>>(); + frames.extend(state.ordered.drain(..)); + frames.extend(state.render.take()); + frames + } + #[cfg(test)] pub(crate) fn test_fill_render(&self, data: Vec<u8>) { self.render.try_send(data).unwrap(); |
