I have a simple question. Why is io::Write
not implemented for UnixDatagram
?
it seems to satisfy the contract of a writer.
I guess it's because io::Write
is for streams, not messages. A wrapper like BufWriter
doesn't change what data is written when it writes to streams, but it would mess up a message-oriented protocol.
3 Likes
Yea ok, so io::Write
doesn't make any guarantees about preserving a message's boundaries whereas UnixDatagram
expects that the bytes given to UnixDatagram::send
represent a discrete message.
Well in that case I'll remove the UnixDatagramWriter
wrapper and rethink my design