PingCap的Rust训练课程5:异步编程
前言
任务:通过自定义协议,使用异步网络创建一个多线程、持久化键/值存储的服务端和客户端。
目标:
- 了解在Rust中编写future时使用基本模式
- 了解future的错误处理
- 学会调试类型系统
- 使用Tokio运行时执行异步网络
- 使用boxed future处理棘手的类型系统问题
- 使用
impl Trait
创建匿名Future
类型
关键词:异步、future、tokio、impl Trait
。
任务:通过自定义协议,使用异步网络创建一个多线程、持久化键/值存储的服务端和客户端。
目标:
impl Trait
创建匿名Future
类型关键词:异步、future、tokio、impl Trait
。
任务:使用自定义协议,创建一个具有同步网络的多线程、持久化键/值存储的服务端和客户端。
目标:
关键词:线程池、通道、锁、无锁数据结构、原子化、参数化基准测试。
任务:创建一个单线程、持久化的键/值存储的服务器和客户端,使用自定义协议进行同步联网。
目标:
std
库的网络API编写自定义协议sled
对手写的后端进行基准测试关键词:std::net
、日志、trait、基准测试。
任务:创建一个键/值存储程序,能够从命令行访问,支持持久化。
目标:
serde
进行序列化关键词:日志结构文件I/O、bitcask、failure
crate、Read
/Write
trait、serde
crate。
扩展练习:尝试使用structopt
crate。
任务:在内存中创建一个能够接受命令行参数的键/值存储程序,且程序能够通过一些简单的测试。
目标:
cargo init
/run
/test
/clippy
/fmt
关键词:测试、clap
crate、了解CARGO_VERSION
等值、熟悉clippy
和rustfmt
工具。
扩展练习:尝试使用structopt
crate。
最近打算干点人事,继续入门rust。开始看pingcap提供的rust教程,Building Blocks 1引用了一篇文章写的挺好,翻译一下以备查阅。
Makefile
中提供一个chainboot
目标,以便通过UART加载内核。_arch/aarch64
中为ARM架构实现了定时器。GPIO
设备驱动程序中由循环产生的延迟,从而提高精确性。warn!()
宏。Makefile
中提供一个chainboot
目标,以便通过UART加载内核。Update your browser to view this website correctly.&npsb;Update my browser now