Sha256: c5e9111a9bfabc389bc7d92e879b045fdec201f2d24532d1899e96ecda56ede9

Contents?: true

Size: 834 Bytes

Versions: 24

Compression:

Stored size: 834 Bytes

Contents

#[cfg(unix)]
pub mod unix;
#[cfg(unix)]
pub use unix::poll_oneoff;

#[cfg(windows)]
pub mod windows;
#[cfg(windows)]
pub use windows::poll_oneoff;

use std::thread;
use std::time::Duration;
use wasi_common::{
    sched::{Poll, WasiSched},
    Error,
};

pub struct SyncSched {}
impl SyncSched {
    pub fn new() -> Self {
        Self {}
    }
}
#[async_trait::async_trait]
impl WasiSched for SyncSched {
    async fn poll_oneoff<'a>(&self, poll: &mut Poll<'a>) -> Result<(), Error> {
        poll_oneoff(poll).await
    }
    async fn sched_yield(&self) -> Result<(), Error> {
        thread::yield_now();
        Ok(())
    }
    async fn sleep(&self, duration: Duration) -> Result<(), Error> {
        std::thread::sleep(duration);
        Ok(())
    }
}
pub fn sched_ctx() -> Box<dyn WasiSched> {
    Box::new(SyncSched::new())
}

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
wasmtime-17.0.1 ./ext/cargo-vendor/wasi-cap-std-sync-17.0.1/src/sched.rs
wasmtime-17.0.0 ./ext/cargo-vendor/wasi-cap-std-sync-17.0.0/src/sched.rs
wasmtime-16.0.0 ./ext/cargo-vendor/wasi-cap-std-sync-16.0.0/src/sched.rs
wasmtime-15.0.1 ./ext/cargo-vendor/wasi-cap-std-sync-15.0.1/src/sched.rs
wasmtime-15.0.0 ./ext/cargo-vendor/wasi-cap-std-sync-15.0.0/src/sched.rs
wasmtime-14.0.4 ./ext/cargo-vendor/wasi-cap-std-sync-14.0.4/src/sched.rs
wasmtime-14.0.3 ./ext/cargo-vendor/wasi-cap-std-sync-14.0.3/src/sched.rs
wasmtime-14.0.1 ./ext/cargo-vendor/wasi-cap-std-sync-14.0.1/src/sched.rs
wasmtime-14.0.0 ./ext/cargo-vendor/wasi-cap-std-sync-14.0.0/src/sched.rs
wasmtime-13.0.0 ./ext/cargo-vendor/wasi-cap-std-sync-13.0.0/src/sched.rs
wasmtime-12.0.1 ./ext/cargo-vendor/wasi-cap-std-sync-12.0.1/src/sched.rs
wasmtime-12.0.0 ./ext/cargo-vendor/wasi-cap-std-sync-12.0.0/src/sched.rs
wasmtime-11.0.0 ./ext/cargo-vendor/wasi-cap-std-sync-11.0.0/src/sched.rs
wasmtime-10.0.1 ./ext/cargo-vendor/wasi-cap-std-sync-10.0.1/src/sched.rs
wasmtime-10.0.0 ./ext/cargo-vendor/wasi-cap-std-sync-10.0.0/src/sched.rs
wasmtime-9.0.4 ./ext/cargo-vendor/wasi-cap-std-sync-9.0.4/src/sched.rs
wasmtime-9.0.1 ./ext/cargo-vendor/wasi-cap-std-sync-9.0.1/src/sched.rs
wasmtime-8.0.0 ./ext/cargo-vendor/wasi-cap-std-sync-8.0.0/src/sched.rs
wasmtime-7.0.0 ./ext/cargo-vendor/wasi-cap-std-sync-7.0.0/src/sched.rs
wasmtime-6.0.1 ./ext/cargo-vendor/wasi-cap-std-sync-6.0.1/src/sched.rs