I was recently hacking on rust-postgres, and it is using bytes::Bytes and BytesMut. But then it's also makes its own buffer type, and it also uses &[u8] some places. And the bytes crate also offers Buf and BufMut.
I'm getting a little lost in what types I should be using for network programming and similar tasks. Are there general rules about when I should be using which types?