tokio
Rustの非同期ランタイム
spawn
let handle: tokio::JoinHandle<T> = tokio::spawn(async move {
process(socket).await;
});
let result = handle.await?;bytesクレート.Arc<Vec<u8>>Vec<u8>に対してshallow copy提供する
Mutex
-
2022-03-10
std::sync::Mutex握っているときにawaitできないらしい -
mutex.lock.awaitはasync境界またげるが重い
channel
-
mpsc: MPSC -
broadcast: multi-producer, multi-consumer -
watch: single-producer, multi-consumer
Stream
- Streams|Tokio チュートリアル (日本語訳)
stream::unfold:Futureをまとめるものじゃないのかfor_eachするにはfuture::FutureExtが必要だった
- Introduction to gRPC in Rust | Roman Kudryashov’s tech blog