futures-intrusive 项目教程
1. 项目的目录结构及介绍
futures-intrusive/
├── Cargo.toml
├── LICENSE
├── README.md
├── src/
│ ├── lib.rs
│ ├── channel.rs
│ ├── sync.rs
│ ├── timer.rs
│ └── utils.rs
└── tests/
└── integration_tests.rs
- Cargo.toml: 项目的配置文件,定义了项目的依赖、版本等信息。
- LICENSE: 项目的许可证文件。
- README.md: 项目的介绍文档,包含项目的基本信息和使用说明。
- src/: 项目的源代码目录。
- lib.rs: 库的入口文件。
- channel.rs: 实现各种类型的通道。
- sync.rs: 实现同步原语。
- timer.rs: 实现定时器。
- utils.rs: 包含一些辅助函数和工具。
- tests/: 项目的测试目录。
- integration_tests.rs: 集成测试文件。
2. 项目的启动文件介绍
项目的启动文件是 src/lib.rs
,它是库的入口点。该文件导入了其他模块,并定义了库的公共接口。
pub mod channel;
pub mod sync;
pub mod timer;
pub mod utils;
3. 项目的配置文件介绍
项目的配置文件是 Cargo.toml
,它包含了项目的元数据和依赖信息。
[package]
name = "futures-intrusive"
version = "0.5.0"
authors = ["Matthias Einwag <matthias.einwag@gmail.com>"]
edition = "2018"
license = "MIT OR Apache-2.0"
description = "Futures based on intrusive data structures - for std and no-std environments"
repository = "https://github.com/Matthias247/futures-intrusive"
documentation = "https://docs.rs/futures-intrusive"
[dependencies]
futures-core = { version = "0.3", default-features = false }
lock_api = { version = "0.4.1", default-features = false }
parking_lot = { version = "0.12.0", default-features = false }
[dev-dependencies]
async-std = { version = "1.4", default-features = false }
criterion = { version = "0.3.0", default-features = false }
crossbeam = { version = "0.7", default-features = false }
futures = { version = "0.3.0", default-features = false }
- [package]: 定义了项目的名称、版本、作者等信息。
- [dependencies]: 定义了项目运行所需的依赖。
- [dev-dependencies]: 定义了开发和测试所需的依赖。
以上是 futures-intrusive
项目的基本教程,包含了项目的目录结构、启动文件和配置文件的介绍。希望对你有所帮助!