fp_bindgen_support/common/
async.rs1use super::mem::{to_fat_ptr, FatPtr};
2
3pub const FUTURE_STATUS_PENDING: u32 = 0;
4pub const FUTURE_STATUS_READY: u32 = 1;
5
6#[doc(hidden)]
7#[repr(C)]
8#[derive(Clone, Copy, Debug)]
9pub struct AsyncValue {
10 pub status: u32,
11 pub ptr: u32,
12 pub len: u32,
13}
14
15impl AsyncValue {
16 pub fn new() -> Self {
17 Self {
18 status: FUTURE_STATUS_PENDING,
19 ptr: 0,
20 len: 0,
21 }
22 }
23
24 pub fn buffer_ptr(&self) -> FatPtr {
25 to_fat_ptr(self.ptr as *const u8, self.len)
26 }
27}
28
29impl Default for AsyncValue {
30 fn default() -> Self {
31 Self::new()
32 }
33}