18 lines
345 B
Rust
18 lines
345 B
Rust
|
pub trait Cacheable {
|
||
|
fn from_bytes(bytes: &[u8]) -> Option<Self>
|
||
|
where
|
||
|
Self: Sized;
|
||
|
|
||
|
fn to_bytes(&self) -> Option<Vec<u8>>;
|
||
|
}
|
||
|
|
||
|
impl Cacheable for Vec<u8> {
|
||
|
fn from_bytes(bytes: &[u8]) -> Option<Self> {
|
||
|
Some(Vec::from(bytes))
|
||
|
}
|
||
|
|
||
|
fn to_bytes(&self) -> Option<Vec<u8>> {
|
||
|
Some(self.to_vec())
|
||
|
}
|
||
|
}
|