pub struct RuntimeCompat<A> { /* private fields */ }Implementations§
Methods from Deref<Target = Runtime>§
Sourcepub fn driver_type(&self) -> DriverType
pub fn driver_type(&self) -> DriverType
The current driver type.
Sourcepub fn enter<T, F>(&self, f: F) -> Twhere
F: FnOnce() -> T,
pub fn enter<T, F>(&self, f: F) -> Twhere
F: FnOnce() -> T,
Set this runtime as current runtime, and perform a function in the current scope.
Sourcepub fn run(&self) -> bool
pub fn run(&self) -> bool
Low level API to control the runtime.
Run the scheduled tasks.
The return value indicates whether there are still tasks in the queue.
Sourcepub fn waker(&self) -> Waker
pub fn waker(&self) -> Waker
Low level API to control the runtime.
Create a waker that always notifies the runtime when woken.
Sourcepub fn block_on<F>(&self, future: F) -> <F as Future>::Outputwhere
F: Future,
pub fn block_on<F>(&self, future: F) -> <F as Future>::Outputwhere
F: Future,
Block on the future till it completes.
Sourcepub fn spawn<F>(&self, future: F) -> JoinHandle<<F as Future>::Output>where
F: Future + 'static,
pub fn spawn<F>(&self, future: F) -> JoinHandle<<F as Future>::Output>where
F: Future + 'static,
Spawns a new asynchronous task, returning a JoinHandle for it.
Spawning a task enables the task to execute concurrently to other tasks. There is no guarantee that a spawned task will execute to completion.
Sourcepub fn spawn_blocking<T>(
&self,
f: impl FnOnce() -> T + Send + 'static,
) -> JoinHandle<T>where
T: Send + 'static,
pub fn spawn_blocking<T>(
&self,
f: impl FnOnce() -> T + Send + 'static,
) -> JoinHandle<T>where
T: Send + 'static,
Spawns a blocking task in a new thread, and wait for it.
The task will not be cancelled even if the future is dropped.
Sourcepub fn attach(&self, fd: i32) -> Result<(), Error>
pub fn attach(&self, fd: i32) -> Result<(), Error>
Attach a raw file descriptor/handle/socket to the runtime.
You only need this when authoring your own high-level APIs. High-level resources in this crate are attached automatically.
Sourcepub fn submit<T>(&self, op: T) -> Submit<T>where
T: OpCode + 'static,
pub fn submit<T>(&self, op: T) -> Submit<T>where
T: OpCode + 'static,
Submit an operation to the runtime.
You only need this when authoring your own OpCode.
Sourcepub fn submit_multi<T>(&self, op: T) -> SubmitMulti<T>where
T: OpCode + 'static,
pub fn submit_multi<T>(&self, op: T) -> SubmitMulti<T>where
T: OpCode + 'static,
Submit a multishot operation to the runtime.
You only need this when authoring your own OpCode.
Sourcepub fn flush(&self) -> bool
pub fn flush(&self) -> bool
Flush the driver and return whether the driver has been notified.
See Proactor::flush for more details.
Sourcepub fn current_timeout(&self) -> Option<Duration>
pub fn current_timeout(&self) -> Option<Duration>
Low level API to control the runtime.
Get the timeout value to be passed to Proactor::poll.
Sourcepub fn poll(&self)
pub fn poll(&self)
Low level API to control the runtime.
Poll the inner proactor. It is equal to calling Runtime::poll_with
with Runtime::current_timeout.
Sourcepub fn poll_with(&self, timeout: Option<Duration>)
pub fn poll_with(&self, timeout: Option<Duration>)
Low level API to control the runtime.
Poll the inner proactor with a custom timeout.
Sourcepub fn buffer_pool(&self) -> Result<BufferPool, Error>
pub fn buffer_pool(&self) -> Result<BufferPool, Error>
Get buffer pool of the runtime.
This will lazily initialize the pool at the first time it’s accessed, and future access to the pool will be cheap and infallible.
Sourcepub fn register_files(&self, fds: &[i32]) -> Result<(), Error>
pub fn register_files(&self, fds: &[i32]) -> Result<(), Error>
Register file descriptors for fixed-file operations.
This is only supported on io-uring driver, and will return an
Unsupported io error on all other drivers.
Sourcepub fn unregister_files(&self) -> Result<(), Error>
pub fn unregister_files(&self) -> Result<(), Error>
Unregister previously registered file descriptors.
This is only supported on io-uring driver, and will return an
Unsupported io error on all other drivers.
Sourcepub fn register_personality(&self) -> Result<u16, Error>
pub fn register_personality(&self) -> Result<u16, Error>
Register the personality for the runtime.
This is only supported on io-uring driver, and will return an
Unsupported io error on all other drivers.
The returned personality can be used with
FutureExt::with_personality.
Sourcepub fn unregister_personality(&self, personality: u16) -> Result<(), Error>
pub fn unregister_personality(&self, personality: u16) -> Result<(), Error>
Unregister the given personality for the runtime.
This is only supported on io-uring driver, and will return an
Unsupported io error on all other drivers.