pub struct MailBox {
nonce: AtomicU32,
inhibit_send: AtomicBool,
send_wait: WaitQueue,
recv_wait: WaitMap<u32, KernelResponseBody>,
rings: OnceRings,
}
Fields§
§nonce: AtomicU32
§inhibit_send: AtomicBool
§send_wait: WaitQueue
§recv_wait: WaitMap<u32, KernelResponseBody>
§rings: OnceRings
Implementations§
source§impl MailBox
impl MailBox
pub const fn new() -> Self
pub fn set_rings(&self, rings: Rings)
pub fn poll(&self)
async fn send_inner( &'static self, nonce: u32, msg: UserRequestBody ) -> Result<(), ()>
sourcepub async fn send(&'static self, msg: UserRequestBody) -> Result<(), ()>
pub async fn send(&'static self, msg: UserRequestBody) -> Result<(), ()>
Send a message to the kernel without waiting for a response
sourcepub async fn request(
&'static self,
msg: UserRequestBody
) -> Result<KernelResponseBody, ()>
pub async fn request( &'static self, msg: UserRequestBody ) -> Result<KernelResponseBody, ()>
Send a message to the kernel, waiting for a response
Auto Trait Implementations§
impl !RefUnwindSafe for MailBox
impl Send for MailBox
impl Sync for MailBox
impl Unpin for MailBox
impl !UnwindSafe for MailBox
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more