Skip to content
This repository was archived by the owner on May 9, 2022. It is now read-only.

Commit 8045b13

Browse files
committed
WIP: binhelpers
1 parent f26b1b6 commit 8045b13

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

rtc_types/src/binhelpers.rs

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
use rkyv::{
2+
ser::{
3+
serializers::{BufferSerializer, BufferSerializerError},
4+
Serializer,
5+
},
6+
Aligned, Serialize,
7+
};
8+
9+
pub fn rkyv_write_const<T, const SIZE: usize>(
10+
value: &T,
11+
) -> Result<[u8; SIZE], BufferSerializerError>
12+
where
13+
T: Serialize<BufferSerializer<Aligned<[u8; SIZE]>>>,
14+
{
15+
let mut serializer = BufferSerializer::new(Aligned([0u8; SIZE]));
16+
serializer.serialize_value(value)?;
17+
let buf = serializer.into_inner();
18+
Ok(buf.0)
19+
}

rtc_types/src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ pub use exec_token::*;
2525
mod ecall_result;
2626
pub use ecall_result::*;
2727

28+
mod binhelpers;
2829
pub mod enclave_messages;
2930

3031
#[repr(C)]

0 commit comments

Comments
 (0)