Sha256: 94fa619a7655228485c714ef5b5ed4b703a360e51130cdfc07d20c1aa38cb3c5
Contents?: true
Size: 873 Bytes
Versions: 38
Compression:
Stored size: 873 Bytes
Contents
use crate::sys::windows::Event; use std::cell::UnsafeCell; use std::fmt; use windows_sys::Win32::System::IO::{OVERLAPPED, OVERLAPPED_ENTRY}; #[repr(C)] pub(crate) struct Overlapped { inner: UnsafeCell<OVERLAPPED>, pub(crate) callback: fn(&OVERLAPPED_ENTRY, Option<&mut Vec<Event>>), } #[cfg(feature = "os-ext")] impl Overlapped { pub(crate) fn new(cb: fn(&OVERLAPPED_ENTRY, Option<&mut Vec<Event>>)) -> Overlapped { Overlapped { inner: UnsafeCell::new(unsafe { std::mem::zeroed() }), callback: cb, } } pub(crate) fn as_ptr(&self) -> *const OVERLAPPED { self.inner.get() } } impl fmt::Debug for Overlapped { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { f.debug_struct("Overlapped").finish() } } unsafe impl Send for Overlapped {} unsafe impl Sync for Overlapped {}
Version data entries
38 entries across 38 versions & 1 rubygems