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