xref: /aosp_15_r20/external/crosvm/cros_async/src/sys/linux.rs (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1*bb4ee6a4SAndroid Build Coastguard Worker // Copyright 2021 The ChromiumOS Authors
2*bb4ee6a4SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*bb4ee6a4SAndroid Build Coastguard Worker // found in the LICENSE file.
4*bb4ee6a4SAndroid Build Coastguard Worker 
5*bb4ee6a4SAndroid Build Coastguard Worker pub mod async_types;
6*bb4ee6a4SAndroid Build Coastguard Worker mod error;
7*bb4ee6a4SAndroid Build Coastguard Worker pub mod event;
8*bb4ee6a4SAndroid Build Coastguard Worker pub mod executor;
9*bb4ee6a4SAndroid Build Coastguard Worker pub mod fd_executor;
10*bb4ee6a4SAndroid Build Coastguard Worker pub mod poll_source;
11*bb4ee6a4SAndroid Build Coastguard Worker mod timer;
12*bb4ee6a4SAndroid Build Coastguard Worker #[cfg(feature = "tokio")]
13*bb4ee6a4SAndroid Build Coastguard Worker pub mod tokio_source;
14*bb4ee6a4SAndroid Build Coastguard Worker pub mod uring_executor;
15*bb4ee6a4SAndroid Build Coastguard Worker pub mod uring_source;
16*bb4ee6a4SAndroid Build Coastguard Worker 
17*bb4ee6a4SAndroid Build Coastguard Worker pub use error::AsyncErrorSys;
18*bb4ee6a4SAndroid Build Coastguard Worker pub use executor::ExecutorKindSys;
19*bb4ee6a4SAndroid Build Coastguard Worker pub(crate) use fd_executor::EpollReactor;
20*bb4ee6a4SAndroid Build Coastguard Worker pub use poll_source::Error as PollSourceError;
21*bb4ee6a4SAndroid Build Coastguard Worker pub use poll_source::PollSource;
22*bb4ee6a4SAndroid Build Coastguard Worker pub(crate) use uring_executor::UringReactor;
23*bb4ee6a4SAndroid Build Coastguard Worker pub use uring_source::UringSource;
24*bb4ee6a4SAndroid Build Coastguard Worker 
25*bb4ee6a4SAndroid Build Coastguard Worker use crate::Error;
26*bb4ee6a4SAndroid Build Coastguard Worker 
27*bb4ee6a4SAndroid Build Coastguard Worker impl From<Error> for std::io::Error {
from(e: Error) -> Self28*bb4ee6a4SAndroid Build Coastguard Worker     fn from(e: Error) -> Self {
29*bb4ee6a4SAndroid Build Coastguard Worker         use Error::*;
30*bb4ee6a4SAndroid Build Coastguard Worker         match e {
31*bb4ee6a4SAndroid Build Coastguard Worker             EventAsync(e) => e.into(),
32*bb4ee6a4SAndroid Build Coastguard Worker             Io(e) => e,
33*bb4ee6a4SAndroid Build Coastguard Worker             URingExecutor(e) => e.into(),
34*bb4ee6a4SAndroid Build Coastguard Worker             PollSource(e) => e.into(),
35*bb4ee6a4SAndroid Build Coastguard Worker             Timer(e) => e.into(),
36*bb4ee6a4SAndroid Build Coastguard Worker             TimerAsync(e) => e.into(),
37*bb4ee6a4SAndroid Build Coastguard Worker         }
38*bb4ee6a4SAndroid Build Coastguard Worker     }
39*bb4ee6a4SAndroid Build Coastguard Worker }
40