1use aead::Buffer;
2
3pub trait CappedBuffer: Buffer {
6 fn capacity(&self) -> usize;
8}
9
10#[cfg(feature = "alloc")]
11impl CappedBuffer for alloc::vec::Vec<u8> {
12 fn capacity(&self) -> usize {
13 self.capacity()
14 }
15}
16
17pub trait ResizeBuffer: Buffer {
20 fn resize_zeroed(&mut self, new_len: usize) -> Result<(), aead::Error>;
22}
23
24#[cfg(feature = "alloc")]
25impl ResizeBuffer for alloc::vec::Vec<u8> {
26 fn resize_zeroed(&mut self, new_len: usize) -> Result<(), aead::Error> {
27 self.resize(new_len, 0);
28 Ok(())
29 }
30}