Open
Description
I want to store a Reader
inside of a struct but it only uses a reference a does not implement Clone.
use super::capnp_error::CapnpError;
use capnp::{message::ReaderOptions, serialize_packed};
use std::io::Cursor;
pub struct ReaderWrapper<'a> {
reader: &'a Reader<'a>,
}
impl<'a> TryFrom<Vec<u8>> for ReaderWrapper<'a> {
type Error = CapnpError;
fn try_from(buffer: Vec<u8>) -> Result<ReaderWrapper<'a>, CapnpError> {
let reader =
&serialize_packed::read_message(&mut Cursor::new(buffer), ReaderOptions::new())?;
let typed_reader = reader.get_root::<Reader>()?;
Ok(ReaderWrapper {
reader: &typed_reader,
})
}
}
Metadata
Metadata
Assignees
Labels
No labels