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

Version Path
wasmtime-29.0.0 ./ext/cargo-vendor/mio-1.0.3/src/sys/windows/overlapped.rs
wasmtime-28.0.0 ./ext/cargo-vendor/mio-1.0.3/src/sys/windows/overlapped.rs
wasmtime-27.0.0 ./ext/cargo-vendor/mio-1.0.2/src/sys/windows/overlapped.rs
wasmtime-26.0.0 ./ext/cargo-vendor/mio-1.0.2/src/sys/windows/overlapped.rs
wasmtime-25.0.2 ./ext/cargo-vendor/mio-1.0.2/src/sys/windows/overlapped.rs
wasmtime-25.0.1 ./ext/cargo-vendor/mio-1.0.2/src/sys/windows/overlapped.rs
wasmtime-25.0.0 ./ext/cargo-vendor/mio-1.0.2/src/sys/windows/overlapped.rs
wasmtime-24.0.0 ./ext/cargo-vendor/mio-1.0.2/src/sys/windows/overlapped.rs
wasmtime-23.0.2 ./ext/cargo-vendor/mio-0.8.10/src/sys/windows/overlapped.rs
wasmtime-22.0.0 ./ext/cargo-vendor/mio-0.8.10/src/sys/windows/overlapped.rs
wasmtime-21.0.1 ./ext/cargo-vendor/mio-0.8.10/src/sys/windows/overlapped.rs
wasmtime-20.0.2 ./ext/cargo-vendor/mio-0.8.10/src/sys/windows/overlapped.rs
wasmtime-20.0.0 ./ext/cargo-vendor/mio-0.8.10/src/sys/windows/overlapped.rs
wasmtime-18.0.3 ./ext/cargo-vendor/mio-0.8.10/src/sys/windows/overlapped.rs
wasmtime-17.0.1 ./ext/cargo-vendor/mio-0.8.10/src/sys/windows/overlapped.rs
wasmtime-17.0.0 ./ext/cargo-vendor/mio-0.8.10/src/sys/windows/overlapped.rs
wasmtime-16.0.0 ./ext/cargo-vendor/mio-0.8.10/src/sys/windows/overlapped.rs
wasmtime-15.0.1 ./ext/cargo-vendor/mio-0.8.10/src/sys/windows/overlapped.rs
wasmtime-15.0.0 ./ext/cargo-vendor/mio-0.8.10/src/sys/windows/overlapped.rs
wasmtime-14.0.4 ./ext/cargo-vendor/mio-0.8.9/src/sys/windows/overlapped.rs