zookeeper_client/proto/
path.rs

1use bytes::BufMut;
2
3use crate::chroot::ChrootPath;
4use crate::record::{DynamicRecord, SerializableRecord, StaticRecord};
5
6impl SerializableRecord for ChrootPath<'_> {
7    fn serialize(&self, buf: &mut dyn BufMut) {
8        let (root, path) = self.path();
9        let n = root.len() + path.len();
10        buf.put_i32(n as i32);
11        buf.put_slice(root.as_bytes());
12        buf.put_slice(path.as_bytes());
13    }
14}
15
16impl DynamicRecord for ChrootPath<'_> {
17    fn serialized_len(&self) -> usize {
18        let (root, path) = self.path();
19        i32::record_len() + root.len() + path.len()
20    }
21}