aboutsummaryrefslogtreecommitdiff
path: root/src/server/client_transport.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/client_transport.rs')
-rw-r--r--src/server/client_transport.rs18
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();