Sha256: 2cfce0930b3ba32309417c504b93a7baaf9be6852ce3c6942789322712eb23b1

Contents?: true

Size: 505 Bytes

Versions: 8

Compression:

Stored size: 505 Bytes

Contents

use std::task::Waker;

pub(crate) struct Defer {
    deferred: Vec<Waker>,
}

impl Defer {
    pub(crate) fn new() -> Defer {
        Defer {
            deferred: Default::default(),
        }
    }

    pub(crate) fn defer(&mut self, waker: Waker) {
        self.deferred.push(waker);
    }

    pub(crate) fn is_empty(&self) -> bool {
        self.deferred.is_empty()
    }

    pub(crate) fn wake(&mut self) {
        for waker in self.deferred.drain(..) {
            waker.wake();
        }
    }
}

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
wasmtime-9.0.1 ./ext/cargo-vendor/tokio-1.28.1/src/runtime/defer.rs
wasmtime-8.0.0 ./ext/cargo-vendor/tokio-1.27.0/src/runtime/defer.rs
wasmtime-7.0.0 ./ext/cargo-vendor/tokio-1.27.0/src/runtime/defer.rs
wasmtime-6.0.1 ./ext/cargo-vendor/tokio-1.25.0/src/runtime/defer.rs
wasmtime-6.0.0 ./ext/cargo-vendor/tokio-1.25.0/src/runtime/defer.rs
wasmtime-5.0.0 ./ext/cargo-vendor/tokio-1.24.2/src/runtime/defer.rs
wasmtime-0.4.1 ./ext/cargo-vendor/tokio-1.23.0/src/runtime/defer.rs
wasmtime-0.4.0 ./ext/cargo-vendor/tokio-1.23.0/src/runtime/defer.rs