vortex_ipc/messages/
writer_sync.rs1use std::io::Write;
5
6use vortex_error::VortexResult;
7
8use crate::messages::{EncoderMessage, MessageEncoder};
9
10pub struct SyncMessageWriter<W> {
11 write: W,
12 encoder: MessageEncoder,
13}
14
15impl<W: Write> SyncMessageWriter<W> {
16 pub fn new(write: W) -> Self {
17 Self {
18 write,
19 encoder: MessageEncoder::default(),
20 }
21 }
22
23 pub fn write_message(&mut self, message: EncoderMessage) -> VortexResult<()> {
24 for buffer in self.encoder.encode(message) {
25 self.write.write_all(&buffer)?;
26 }
27 Ok(())
28 }
29}