この記事は 2018 年の非同期 Rust の動向調査 の続報です。

TL;DR

    • Rust 1.39.0 以降で async/await 構文が使えるようになりました

 

    • Future を実行するためのランタイムはいままで tokio だけでしたが、別に async-std というのができました

 

    • async/await を使うライブラリを選ぶときはこの2つのランタイムのどちらで動くのかを確認しましょう。

 

    特に理由がなければ tokio を使うのがいいでしょう。

2018 年からの差分

一年前から非同期 Rust を追いかけている人向けの情報です。

組織の再編

昨年は async/await を stabilize させるための async-foundations とツールチェーンを調査する web-foundations というグループが発足しました。 しかし諸事情により Async Foundations WG と Async Ecosystem WG (rustasync) に再編されました。役割はほぼ同じです。 async/await stabilize されたのち Async Ecosystem WG は解散、 Async Foundations WG は async-book の編纂をしているようです。

rustasync から async-rs へ

rustasync チームは Web フレームワーク Tide や非同期ランタイムの romio と julix 、その上に構築した非同期ランタイムの抽象 rustasync/runtime および runtime-native と runtime-tokio 、 runtime-wasm を作るなど、 std 相当の安定した非同期ツールチェーンの整備に向けて活動していました。 ところが 方針が変わり runtime クレートによる抽象化をやめて tokio とはまったく別の非同期ランタイムの async-std を開発しました。 rustasync チーム は Async Ecosystem WG 亡き後も async-rs と http-rs に名前を変えて 非同期 rust 環境の整備に向けて活動しています。

tokio と async-std の違い

tokio と async-std は TcpStream 、 UdpStream、 Timer などの実装方式が違うため、互換性がありません。
現在は tokio、async-std、および tokio ベースの actix-net ランタイムに基づく3つのエコシステムが並立しています。

もともとこのような事態を避けるために runtime クレートが開発されてたのですが、 runtime は rustasync の解散とともに開発終了 しました。また rustasync チームの「std 相当の安定したAPIを持つ非同期ランタイムを提供したい」という思惑と tokio チームの開発方針が一致しなかったことが rustasync チームが tokio とは別に async-std を開発した原因のようです。

※ #[main] async main について

Tcp, Udp, tokio-timer などのランタイム固有の機能を使っている場合、それぞれのランタイム固有の #[main] を使う必要があります。

async-std の中で requwest (tokio::net) を使うと……

#[async_std::main]
async fn main() -> Result<(), reqwest::Error> {
    reqwest::get("http://example.com").await?; // thread 'main' panicked at 'not currently running on the Tokio runtime.'
}

tokio の中で surf (async-std) を使うと……

#[tokio::main]
async fn main() -> Result<(), surf::Exception> {
    surf::get("http://example.com/").await?.body_string().await?;
}

……パニックしません。実は surf 1.0.3 はデフォルトで ブロッキング IO の libcurl をスレッドで待つことで動かし、 features= [“hyper-client”, “hyper-tls”, “native-tls”] をつけると内部で runtime-tokio を呼ぶ ので動くのです。(おそらく hyper 相当の http ライブラリを tokio とは別に作るのが困難なため)

※ block_on について

Tcp, Udp, tokio-timer などのランタイム固有の機能を使っている場合、 futures::executor::block_on は使うことができません。
それぞれのランタイム固有の block_on を使う必要があります。

futures::executor::block_on で tcp (tokio::net) を使うと……

futures::executor::block_on(async {
    reqwest::get("http://example.com/").await.ok(); // thread 'main' panicked at 'not currently running on the Tokio runtime.'
});

パニックします。

futures::executor::block_on で timer (tokio::time) を使うと……

use std::time::Duration;

futures::executor::block_on(async {
    tokio::time::delay_for(Duration::from_millis(10)).await; // thread 'main' panicked at 'no current timer'
});

パニックします。

このように現在の rust ではどのライブラリが tokio | async-std で動くのかを見分けるのは大変困難です。

actix-web について

actix-web はもともと tokio-core を使ったアクターライブラリ actix を元に作られた Web フレームワークで、これはシングルスレッドの tokio-core を使ったワーカープールの上にアクターのランタイムを載せるものでした。ところが tokio のマルチスレッド化とともに、マルチスレッド版 tokio とは少し挙動の違う独自ランタイム(actix-rt)となってしまいました。そのため、 actix-rt の上で tokio::blocking などのマルチスレッド tokio 固有の機能を使うことはできません。さらに、 actix-web は actix-http という独自の http ライブラリを使用しており、これも hyper を利用したほかのエコシステムとは一線を画してします。

wasm-bindgen と Promise について

wasm-bindgen をつかうことで JS の Promise を Rust で await できるようになりました。これは wasm ホスト環境の JavaScript インタプリタの setTimeout や Promise などを使った非同期ランタイムとみなせます。例えば reqwest は wasm にコンパイル可能で、 http client の実装は fetch API を使っています。詳細は wasm-pack で JS の Promise を await できる非同期 Rust を書いて node.js で動かす を参照してください。

その他のランタイム

rust の async ランタイムは誰でも作ることができます。 tokio や async-std の他にも組み込み向けのランタイム embrio や Google が開発中の fuchsia OS で使われている ランタイム もあるようです。fuchsia については Async Interview #2: cramertj が詳しいです。

何を使えばいいの?

async-std はエコシステムは登場してまだ半年も経っておらず 2020 年現在まだまだ開発中です。 tokio の上で reqwest と warp (または rweb) を使うのがいいと思います。 AWS では rusoto および aws-lambda-rust-runtime を使うことになります。 どちらも futures-0.3 や tokio 0.2 に未対応(2020-01-26現在) です。 特に rusoto は tokio-compat や futures-compat などを使うことになるでしょう。mysql や postgres を diesel で使いたい人は、diesel はまだ非同期 IO に対応していない ので r2d2 でコネクションプーリングをした上で actix-rt の worker を使うか tokio::blocking を使うなどの工夫が必要です。redis クライアントは redis-rs でいいでしょう。

ただ現時点では actix-web のほうがサンプルコードは充実しています。参考になりそうなリポジトリへのリンクはこちらです。

    • https://github.com/actix/examples

 

    • https://github.com/actix/book

 

    • https://github.com/seanmonstar/warp/tree/master/examples

 

    • https://github.com/kaj/warp-diesel-ructe-sample

 

    https://github.com/kud1ing/Warp-Book

とはいえ Rust の非同期環境はようやく core::future と async/await が入った段階で、今後どうなっていくのかはまだまだ不透明です。

2019-01 から 2020-05 までの時系列

太字記事は Rust の async/await についての特にオススメの記事、および影響の大きな記事です。

2020-07

    • 2020-07-07 – __

 

    • Concurrency Patterns in Embedded Rust__ – https://ferrous-systems.com/blog/embedded-concurrency-patterns/

2020-07-09 – Async Interview #8: Stjepan Glavina – https://smallcultfollowing.com/babysteps/blog/2020/07/09/async-interview-8-stjepan-glavina/#bridging-the-sync-vs-sync-worlds

2020-05

    • 2020-05-06 – Notes on io-uring – https://boats.gitlab.io/blog/post/io-uring/

2020-05-06 – A practical introduction to async programming in Rust – https://jamesmcm.github.io/blog/2020/05/06/a-practical-introduction-to-async-programming-in-rust/

2020-05-09 – no_std async/await – soon on stable – https://ferrous-systems.com/blog/stable-async-on-embedded/

2020-05-09 – io_uringメモ – https://scrapbox.io/ubnt-intrepid-pub/io_uring%E3%83%A1%E3%83%A2

2020-05-10 – blocking 0.2.0 – https://mobile.twitter.com/stjepang/status/1259201346642853892

2020-05-14 – “Safe bindings to io-uring.”

https://twitter.com/withoutboats/status/1260295418132549638 – https://github.com/withoutboats/ringbahn

2020-05-27 – Ringbahn: a safe, ergonomic API for io-uring in Rust – https://boats.gitlab.io/blog/post/ringbahn/

2020-04

    • 2020-04-01 – Reducing tail latencies with automatic cooperative task yielding – https://tokio.rs/blog/2020-04-preemption/

2020-04-03 – Why I’m building a new async runtime – https://stjepang.github.io/2020/04/03/why-im-building-a-new-async-runtime.html

2020-04-05 – State of Rust Web Frameworks (Server, DB) – https://dev.to/readredready/state-of-rust-web-frameworks-server-3g42

2020-04-09 – Go vs Rust : 特徴量DBに適するのはどっち!? – https://tech-blog.abeja.asia/entry/2020/04/09/115152

2020-04-13 – Wiremock: async HTTP mocking to test Rust applications – https://www.lpalmieri.com/posts/2020-04-13-wiremock-async-http-mocking-for-rust-applications/

2020-04-18 –
Comfy web services in Rust – https://meh.schizofreni.co/2020-04-18/comfy-web-services-in-rust

2020-04-27 – soml 0.1.0 – https://crates.io/crates/smol

2020-04-27 – feat: use smol as runtime #757 – https://github.com/async-rs/async-std/pull/757

2020-04-30 – Async interviews: my take thus far – https://smallcultfollowing.com/babysteps/blog/2020/04/30/async-interviews-my-take-thus-far/
2020-04-29 – Rustのasync/awaitとスケジューラの話 / rust-async-await – https://speakerdeck.com/osuke/rust-async-await

2020-03

    • 2020-03-09 –

 

    • Rewriting the heart of our sync engine – https://dropbox.tech/infrastructure/rewriting-the-heart-of-our-sync-engine

2020-03-10 – Async Interview #7: withoutboats – https://smallcultfollowing.com/babysteps/blog/2020/03/10/async-interview-7-withoutboats/

2020-03-10 – Practical examples of the Rust async ecosystem – https://github.com/benkay86/async-applied

2020-03-12 – waitmap – an async awaitable map -https://boats.gitlab.io/blog/post/waitmap/

2020-03-17 – PARALLEL-STREAM – https://blog.yoshuawuyts.com/parallel-stream/

2020-03-18 – Announcing Rust IPFS, and a call for contributors – https://blog.ipfs.io/2020-03-18-announcing-rust-ipfs/

2020-03-20 – Rust Async and the Terrible, Horrible, No Good, Very Bad Day
My (mis)adventures with async, tokio, and async_std – https://medium.com/@KevinHoffman/rust-async-and-the-terrible-horrible-no-good-very-bad-day-348ebc836274

2020-03-25 – tokio-async-std – https://github.com/wusyong/tokio-async-std

2020-03-27 – Writing an OS in Rust Philipp Oppermann’s blog – Async/Await – https://os.phil-opp.com/async-await/

2020-03-31 – Async HTTP Talk about Async HTTP for the Rust & Tell Berlin meetup – https://speakerdeck.com/yoshuawuyts/async-http

2020-02

    • 2020-02-01 – Implementing a Copyless Redis Protocol in Rust with Parsing Combinators – https://dpbriggs.ca/blog/Implementing-A-Copyless-Redis-Protocol-in-Rust-With-Parsing-Combinators

2020-02-01 – Writing AWS Lambda Functions with Bastion – https://blog.bastion.rs/2020/02/01/writing-aws-lambda-functions-with-bastion.html

2020-02-01 – How we migrate our framework into async/await – https://medium.com/@pailee.wai/how-we-migrate-our-framework-into-async-await-c67b160e16be

2020-02-05 – Why Discord is switching from Go to Rust – https://blog.discordapp.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f

2020-02-07 – The std::future::Future of Rusoto – https://linuxwit.ch/blog/2020/02/the-future-of-rusoto/

2020-02-08 – __Bringing async/await to embedded Rust – https://ferrous-systems.com/blog/embedded-async-await/

2020-02-06 – Futures Explained in 200 lines of Rust – https://cfsamson.github.io/books-futures-explained/

2020-02-11 – Async Interview #6: Eliza Weisman – https://smallcultfollowing.com/babysteps/blog/2020/02/11/async-interview-6-eliza-weisman/

2020-02-11 – A primer to Rust Async – https://omarabid.com/async-rust

2020-02-15 – rusoto が async/.await 対応したのをきっかけにさわってみた雑感 – https://rohki.hatenablog.com/entry/2020/02/15/215157

2020-01

    • 2020-01-01 – Actix Web: Optimization Amongst Optimizations – https://brandur.org/nanoglyphs/008-actix

2020-01-04 – rust on heroku with async/await and tokio – https://www.ultrasaurus.com/2020/01/rust-on-heroku-with-async-await-and-tokio/

2020-01-07 – Farewell to Rusoto – https://matthewkmayer.github.io/blag/public/post/farewell-rusoto/

rusoto の元の開発者が引退

2020-01-09 – Towards a Rust foundation – https://smallcultfollowing.com/babysteps/blog/2020/01/09/towards-a-rust-foundation/

2020-01-09 – Is there a good read on different async runtimes? – https://users.rust-lang.org/t/is-there-a-good-read-on-different-async-runtimes/36678

2020-01-09 – A simple Telegram bot in Rust with Actix – https://qiita.com/kimagure/items/830924fd5e8e2950b6e4

2020-01-11 – いちばんシンプルな非同期 Rust のランタイムを自作する + Heap Timer – https://qiita.com/legokichi/items/1beb3dce317ef45a927b

2020-01-13 – Async Interview #4: Florian Gilcher – https://smallcultfollowing.com/babysteps/blog/2020/01/13/async-interview-4-florian-gilcher/

2020-01-13 – Building a Microservice with Rust – https://diego-pacheco.blogspot.com/2020/01/building-microservice-with-rust.html

2020-01-13 – The Why, What, and How of Pinning in Rust – https://dev.to/iam_aprogrammer/pinning-asynchronous-programming-in-rust-why-what-and-how-3eal – https://www.youtube.com/watch?v=DwY2KkCX59w

2020-01-14 – hyper-async-std – Attempt at using hyper with the async-std runtime – https://github.com/leo-lb/hyper-async-std

2020-01-14 – Tonic: 0.1 has arrived! – https://luciofran.co/tonic-0-1-release/

2019-01-14 – Understanding Tokio, pt. 2 – https://blog.troutwine.us/2020/01/14/understanding-tokio-pt-2/

2020-01-16 – Can hyper work with async-std instead of Tokio? – https://github.com/hyperium/hyper/issues/2111

2020-01-16 – warp v0.2 – https://seanmonstar.com/post/190293882502/warp-v02

2020-01-16 – __Epoll, Kqueue and IOCP Explained with Rust – Cross Platform Event Queues Explained With __ust – https://cfsamsonbooks.gitbook.io/epoll-kqueue-iocp-explained/

2020-01-17 – Impact of Mozilla layoffs (and future profitability) on Rust’s development and future? – https://users.rust-lang.org/t/impact-of-mozilla-layoffs-and-future-profitability-on-rusts-development-and-future/37011

mozilla のレイオフで Rust 開発者が減った話

2020-01-17 – Smoke-testing Rust HTTP clients – https://medium.com/@shnatsel/smoke-testing-rust-http-clients-b8f2ee5db4e6

2020-01-17 – Actix project postmortem – https://github.com/actix/actix-web-postmortem

2020-01-17 – What is going on? #1 https://github.com/actix/actix-web-postmortem/issues/1

2020-01-17 – A sad day for Rust actix-web is dead. – https://words.steveklabnik.com/a-sad-day-for-rust

2020-01-17 – Actix-net unsoundness patch “is boring” – https://www.reddit.com/r/rust/comments/epszt7/actixnet_unsoundness_patch_is_boring/

2020-01-17 – I am done with open source. – https://mobile.twitter.com/fafhrd91/status/1218135374339301378

2020-01-18 – actix/actix-net#83, actix/actix-net#87 – https://gist.github.com/bb010g/705c8ffe4b9db9550a7782d25e5a53be

2020-01-18 – My experience porting old Rust Futures to async/await – https://medium.com/dwelo-r-d/my-experience-porting-old-rust-futures-to-async-await-744430e9c576

2020-01-19 – My FOSS Story – https://blog.burntsushi.net/foss/

2020-01-19 – Error Handling Examples – https://github.com/seanmonstar/warp/issues/388

2019-01-19 – Synchronized Asynchronous Job Runner in Rust – https://www.zupzup.org/rust-job-runner/

2020-01-20 – Async Interview #5: Steven Fackler – https://smallcultfollowing.com/babysteps/blog/2020/01/20/async-interview-5-steven-fackler/

2020-01-20 – Project future #1289 – https://github.com/actix/actix-web/issues/1289

2020-01-20 – Actix-web is back in the main repo with a note from the Nikolay Kim – https://www.reddit.com/r/rust/comments/erdklb/actixweb_is_back_in_the_main_repo_with_a_note/

2020-01-20 – macros to help using warp – https://github.com/seanmonstar/warp/issues/395

2020-01-21 – Steps forward – https://github.com/actix/actix-web/issues/1291

2020-01-21 – https://twitter.com/JustM0nik4/status/1219302277690748928?s=20

2020-01-21 – The Thank You Thread – https://www.reddit.com/r/rust/comments/ereh5h/the_thank_you_thread/

2020-01-21 – Is this a rewrite of rumqtt? – https://github.com/tekjar/rumq/issues/19

2020-01-22 – Lessons learnt updating a library to std::future – https://cetra3.github.io/blog/mpart-async-0-3-0/

2020-01-22 – Rust 2020 roadmap #2857 – https://github.com/rust-lang/rfcs/pull/2857

2020-01-22 – Returning Trait Objects – http://bryce.fisher-fleig.org/blog/returning-trait-objects/index.html

2020-01-25 – rweb: generate openapi spec file automatically from rust source code – https://www.reddit.com/r/rust/comments/etcev1/rweb_generate_openapi_spec_file_automatically/

2020-01-25 – Build your own block_on() – https://stjepang.github.io/2020/01/25/build-your-own-block-on.html

2020-01-25 – support OpenApi #89 Please check kdy1/rweb – https://github.com/seanmonstar/warp/issues/89#issuecomment-578340768

2020-01-25 – A stack-less Rust coroutine library under 100 LoC – https://blog.aloni.org/posts/a-stack-less-rust-coroutine-100-loc/

2020-01-25 – Actix(Rust) it’s blazing fast – https://diego-pacheco.blogspot.com/2020/01/actixrust-its-blazing-fast.html

2020-01-25 – How to use Rust Warp – https://www.steadylearner.com/blog/read/How-to-use-Rust-Warp

2020-01-25 – Generator Resume Arguments – https://github.com/rust-lang/rust/pull/68524

2020-01-27 – https://mobile.twitter.com/ubnt_intrepid/status/1221750942099337216

2020-01-27 – 500K pps with tokio – https://dwarfhack.com/posts/tech/tokio_pps/

2020-01-29 – TIDE CHANNELS – https://blog.yoshuawuyts.com/tide-channels/

2020-01-30 – New age of Bastion – https://blog.bastion.rs/2020/01/30/new-age-of-bastion.html

2020-01-31 – Build your own executor – https://stjepang.github.io/2020/01/31/build-your-own-executor.html

2019-12

    • 2019-12-01 – Implementing pid1 with Rust and async/await – https://www.reddit.com/r/rust/comments/e42mio/implementing_pid1_with_rust_and_asyncawait/ – https://tech.fpcomplete.com/rust/pid1

2019-12-01 – Application State – https://github.com/trezm/Thruster/issues/130

2019-12-01 – なぜasyncの中でformat!を使うとエラーが出るのか – https://qiita.com/__pandaman64__/items/2c2864259e0d99be964c

2019-12-01 – Rust Advent Calendar 2019 1日目 Rust の非同期プログラミングモデルはランタイム観点だと Go のそれに似ている – https://keno-ss.hatenadiary.org/entry/2019/12/01/235828

2019-12-02 – Structured Concurrency Support – https://github.com/tokio-rs/tokio/issues/1879

2019-12-02 – http v0.2 – https://seanmonstar.com/post/189439210962/http-v02

2019-12-04 – rust-async-std-tokio-compat – Compatibility layer between async-std and tokio network streams – async-std to tokio streams – https://github.com/jedisct1/rust-async-std-tokio-compat

2019-12-06 – okapi v0.2.0 – https://github.com/GREsau/okapi/releases/tag/v0.2.0

2019-12-08 – Rust Gets Async-Await – https://www.i-programmer.info/news/98-languages/13233-rust-gets-async-await.html

2019-12-09 – Async Interview #2: cramertj – https://smallcultfollowing.com/babysteps/blog/2019/12/09/async-interview-2-cramertj/

2019-12-10 – Async Interview #2: cramertj, part 2 – https://smallcultfollowing.com/babysteps/blog/2019/12/10/async-interview-2-cramertj-part-2/

2019-12-11 – Async Interview #2: cramertj, part 3 – https://smallcultfollowing.com/babysteps/blog/2019/12/11/async-interview-2-cramertj-part-3/

2019-12-10 – rumq v0.1.0-alpha.1 – https://github.com/tekjar/rumq/releases/tag/v0.1.0-alpha.1

2019-12-11 – Actix runtime v1.0.0 – https://github.com/actix/actix-net/releases/tag/rt-1.0.0

2019-12-11 – hyper v0.13.0 – https://github.com/hyperium/hyper/releases/tag/v0.13.0

2019-12-13 – async-std v1.3.0 – https://github.com/async-rs/async-std/releases/tag/v1.3.0

2019-12-14 – wasm-pack で JS の Promise を await できる非同期 Rust を書いて node.js で動かす – https://qiita.com/legokichi/items/dcd7d1ecd6c9b5c877d7

2019-12-16 – Stop worrying about blocking: the new async-std runtime, inspired by Go – https://async.rs/blog/stop-worrying-about-blocking-the-new-async-std-runtime/

2019-12-16 – New scheduler resilient to blocking – https://github.com/async-rs/async-std/pull/631

2019-12-17 – Tokio Roadmap to 1.0 – https://github.com/tokio-rs/tokio/pull/1965

2019-12-17 – Announcing Mio 0.7-alpha.1 – https://tokio.rs/blog/2019-12-mio-v0.7-alpha.1/

2019-12-17 – Rust no-stdのasync完全理解を目指そう! – https://tomo-wait-for-it-yuki.hatenablog.com/entry/2019/12/17/073126

2019-12-18 – http-client 1.1.1 – https://github.com/http-rs/http-client/releases/tag/1.1.1

2019-12-18 – tokio-compat 0.11 – https://github.com/tokio-rs/tokio-compat/releases/tag/0.1.1
2019-12-18 – Announcing Tokio-Compat – https://tokio.rs/blog/2019-12-compat/

2019-12-20 – Do you plan to migrate from tokio to async-std when it matures ? – https://github.com/actix/actix-net/issues/79

2019-12-20 – async fn and async block not support task::current().id(),how to get Coroutines id? – https://github.com/tokio-rs/tokio/issues/1996

2019-12-20 – tower 0.3.0 – https://github.com/tower-rs/tower/releases/tag/tower-0.3.0

2019-12-20 – wasm-bindgen – 0.2.56 – https://github.com/rustwasm/wasm-bindgen/releases/tag/0.2.56 – https://github.com/rustwasm/wasm-bindgen/blob/66e48bd1681fab6ce99a8e3d9230efebaa24d67f/CHANGELOG.md#0256

wasm-bindgen で JS の Promise を Future にして await できるようになった

2019-12-21 – tide 0.5.0 – https://github.com/http-rs/tide/releases/tag/0.5.0

2019-12-22 – How to Detect Accidental Blocking Code in Async Rust – https://rickyhan.com/jekyll/update/2019/12/22/convert-to-async-rust.html

2019-12-21 – async-std v1.4.0 – https://github.com/async-rs/async-std/releases/tag/v1.4.0

2019-12-21 – STREAMS CONCURRENCY – https://blog.yoshuawuyts.com/streams-concurrency/

2019-12-22 – thruster 0.8.0 – https://crates.io/crates/thruster/0.8.0

2019-12-22 – tokioで外部コマンド実行 – https://qiita.com/Kumassy/items/3fb3e52729e375efd5ed

2019-12-23 – Async Interview #3: Carl Lerche – https://smallcultfollowing.com/babysteps/blog/2019/12/23/async-interview-3-carl-lerche/

2019-12-24 – Async Exceptions in Haskell, and Rust – https://tech.fpcomplete.com/blog/async-exceptions-haskell-rust

2019-12-25 – Actix web 2.0.0 is released – https://mobile.twitter.com/fafhrd91/status/1209878253802004480

2019-12-25 – async/await 時代の新しい HTTP サーバーフレームワーク tide を試す – https://yuk1tyd.hatenablog.com/entry/2019/12/25/000100

2019-12-26 – You can try this branch async-await – https://github.com/awslabs/aws-lambda-rust-runtime/issues/14#issuecomment-569046122

2019-12-27 – Preventing the Collapse of Civilization – https://brandur.org/nanoglyphs/007-civilization

2019-12-27 – Sessions – https://github.com/seanmonstar/warp/issues/342#issuecomment-569213444

2019-12-28 – Announcing SQLx, a fully asynchronous pure Rust client library for Postgres and MySQL/MariaDB with compile-time checked queries – https://www.reddit.com/r/rust/comments/egpw7g/announcing_sqlx_a_fully_asynchronous_pure_rust/ – https://github.com/launchbadge/sqlx

2019-12-28 – Rust + GraphQL + Juniper + Diesel + Postgres + Actix – https://github.com/lucperkins/rust-graphql-juniper-actix-diesel-postgres

2019-12-30 – reqwest v0.10 – https://seanmonstar.com/post/189960517042/reqwest-v010

2019-12-30 – Deno, first approach – https://dev.to/lsagetlethias/deno-first-approach-4d0

2019-12-31 – Understanding Tokio, pt. 1 – https://blog.troutwine.us/2019/12/31/understanding-tokio-pt1/

2019-11

    • 2019-11-01 – tide 0.3.0 – https://github.com/http-rs/tide/releases/tag/0.3.0

2019-11-03 – Experimental cooperative cancellation for async-std – https://github.com/async-rs/stop-token

2019-11-04 – Blocking inside async code – https://stjepang.github.io/2019/12/04/blocking-inside-async-code.html

2019-11-04 – Announcing genawaiter – use generators (yield) on stable Rust – https://users.rust-lang.org/t/announcing-genawaiter-use-generators-yield-on-stable-rust/34283 – https://github.com/whatisaphone/genawaiter

2019-11-05 – Rust 2020 – https://www.ncameron.org/blog/rust-2020/

2019-11-07 – Async-await on stable Rust! – https://blog.rust-lang.org/2019/11/7/Async-await-stable.html

2019-11-07 – Announcing Rust 1.39.0 – https://blog.rust-lang.org/2019/11/7/Rust-1.39.0.html

2019-11-07 – Proposing new AsyncRead / AsyncWrite traits – https://github.com/tokio-rs/tokio/pull/1744

2019-11-08 – Rust 1.39を早めに深掘り – https://tech-blog.optim.co.jp/entry/2019/11/08/080000

2019-11-08 – Rustの非同期プログラミングをマスターする – https://tech-blog.optim.co.jp/entry/2019/11/08/163000

2019-11-07 – async-std 0.99.12: async/.await is ready! – https://async.rs/blog/async-std-0-9-12-async-await-is-ready/

2019-11-07 – futures-rs 0.3.0 – https://github.com/rust-lang/futures-rs/releases/tag/0.3.0

2019-11-07 – Using Rust in Windows – https://msrc-blog.microsoft.com/2019/11/07/using-rust-in-windows/

2019-11-08 – surf 1.0.3 – https://github.com/http-rs/surf/releases/tag/1.0.3

2019-11-08 – https://mobile.twitter.com/yoshuawuyts/status/1192516304827228162

2019-11-10 – hyper v0.13 – https://seanmonstar.com/post/189594157852/hyper-v013

2019-11-11 – Announcing async-std 1.0 – https://async.rs/blog/announcing-async-std-1-0/ – https://www.reddit.com/r/rust/comments/duvdzz/announcing_asyncstd_10/

2019-11-11 – Demystifying Asynchronous Rust – https://github.com/teh-cmc/rust-async – https://teh-cmc.github.io/rust-async/html/

2019-11-12 – async-std v1.0.0 – https://github.com/async-rs/async-std/releases/tag/v1.0.0

2019-11-12 – Rust and 2020 – https://vorner.github.io/2019/11/12/rust-2020.html

2019-11-12 – demo for rust asynchronous io: from mio to stackless coroutine – https://github.com/Hexilee/async-io-demo

2019-11-13 – ERROR HANDLING SURVEY – https://blog.yoshuawuyts.com/error-handling-survey/

2019-11-14 – Thoughts on Error Handling in Rust – https://lukaskalbertodt.github.io/2019/11/14/thoughts-on-error-handling-in-rust.html

2019-11-14 – Global Executors – https://boats.gitlab.io/blog/post/global-executors/

2019-11-14 – https://mobile.twitter.com/qnighy/status/1194764795074887680

2019-11-15 – Global Executors – https://internals.rust-lang.org/t/global-executors/11295

2019-11-15 – Consider matching std::process behavior – https://github.com/tokio-rs/tokio/issues/1771

2019-11-16 – async-stream v0.2.0 – https://github.com/tokio-rs/async-stream/releases/tag/v0.2.0

2019-11-21 – Await Trust-DNS no longer – https://bluejekyll.github.io/blog/rust/2019/12/21/await-trust-dns.html

2019-11-22 – async-std v1.1.0 – https://github.com/async-rs/async-std/releases/tag/v1.1.0

2019-11-22 – https://mobile.twitter.com/ubnt_intrepid/status/1197773414271873024

2019-11-22 – Announcing the Async Interviews – https://smallcultfollowing.com/babysteps/blog/2019/11/22/announcing-the-async-interviews/

2019-11-23 – Async, Awaited – https://brandur.org/nanoglyphs/004-async-awaited

2019-11-24 – Cleanup support in Signal Hook – https://vorner.github.io/2019/11/24/signal-hook-cleanup.html

2019-11-26 – Is this compatible with async-std? – https://github.com/seanmonstar/reqwest/issues/719

2019-11-26 – Announcing Tokio 0.2 and a Roadmap to 1.0 – https://tokio.rs/blog/2019-11-tokio-0-2/

2019-11-27 – tokio-rustls 0.12.0 – https://crates.io/crates/tokio-rustls/0.12.0

2019-11-27 – プロダクションのRustコードを async / await に移行した話 – https://blog.idein.jp/post/189326134515/rust-async-await

2019-11-27 – TIDE – https://blog.yoshuawuyts.com/tide/

2019-11-27 – tokio 0.2.0 – https://github.com/tokio-rs/tokio/releases/tag/tokio-0.2.0

2019-11-28 – tide 0.3.0 – https://github.com/http-rs/tide/releases/tag/0.3.0

2019-11-28 – Async Interview #1: Alex and Nick talk about async I/O and WebAssembly – https://smallcultfollowing.com/babysteps/blog/2019/11/28/async-interview-1-alex-and-nick-talk-about-async-i-o-and-webassembly/

2019-11-28 – async-std v1.2.0 – https://github.com/async-rs/async-std/releases/tag/v1.2.0

2019-11-29 – join! – Rust macros with combinators to join everything – https://www.reddit.com/r/rust/comments/e3evz1/join_rust_macros_with_combinators_to_join/

2019-11-30 – Async Interviews – https://users.rust-lang.org/t/async-interviews/35167

2019-10

    • 2019-10-01 – tokio 0.2.0-alpha.6 – https://crates.io/crates/tokio/0.2.0-alpha.6

2019-10-02 – Tonic: gRPC has come to async/await! – https://luciofran.co/tonic-grpc-has-come-to-async-await/

2019-10-04 – Actix server v0.7.0 – https://github.com/actix/actix-net/releases/tag/server-v0.7.0

2019-10-07 – Async Foundations Update: Time for polish! – https://blog.rust-lang.org/inside-rust/2019/10/7/AsyncAwait-WG-Focus-Issues.html

2019-10-07 – Will it be possible to use async-await in a tower service?- https://github.com/tower-rs/tower/issues/358

2019-10-08 – reqwest alpha.await – https://seanmonstar.com/post/188220739932/reqwest-alphaawait

2019-10-09 – The Node Experiment – Exploring Async Basics with Rust – https://cfsamson.github.io/book-exploring-async-basics/

2019-10-10 – futures-timer 1.0.0 – https://github.com/async-rs/futures-timer/releases/tag/1.0.0

2019-10-11 – Improving async-await’s “Future is not Send” diagnostic – https://blog.rust-lang.org/inside-rust/2019/10/11/AsyncAwait-Not-Send-Error-Improvements.html

2019-10-13 – Making the Tokio scheduler 10x faster – https://tokio.rs/blog/2019-10-scheduler/

2019-10-14 – Opensource and ownership transfer – https://github.com/AtherEnergy/rumqtt/issues/179

2019-10-16 – Asynchronous Destructors – https://boats.gitlab.io/blog/post/poll-drop/

2019-10-16 – Rust’s Journey to Async/await – https://www.infoq.com/presentations/rust-2019/

2019-10-26 – Making an opinionated Web framework – https://speakerdeck.com/qnighy/making-an-opinionated-web-framework

2019-10-26 – why async fn in traits are hard – https://smallcultfollowing.com/babysteps/blog/2019/10/26/async-fn-in-traits-are-hard/

2019-10-27 – tokio vs async-std ? – https://www.reddit.com/r/rust/comments/dngig6/tokio_vs_asyncstd/

2019-10-27 – Trying to futures::executor::block_on(run_server()) gives runtime error – https://github.com/hyperium/hyper/issues/1995#issuecomment-554997179

2019-10-30 – The Rustasync working group has sunset Runtime is no longer active – https://github.com/rustasync/team

2019-10-31 – Can anyone give me a high level summary of the difference between Tokio and Async-std, as well as how async works in rust? – https://www.reddit.com/r/rust/comments/dpjlkt/can_anyone_give_me_a_high_level_summary_of_the/f5wkmvn/

2019-10-30 – deprecate – https://github.com/rustasync/runtime/pull/121

2019-10-31 – https://twitter.com/Linda_pp/status/1189734163139555329

2019-09

    • 2019-09-02 – FUTURES CONCURRENCY – https://blog.yoshuawuyts.com/futures-concurrency/

2019-09-02 – How Rust optimizes async/await II: Program analysis – https://tmandry.gitlab.io/blog/posts/optimizing-await-2/

2019-09-03 – RustでRuntimeを使用してmainをasyncにする – https://sioyaki.com/entry/2019/09/03/152447

2019-09-04 – Pinning and Service – https://github.com/tower-rs/tower/issues/319

2019-09-04 – hyper alpha supports async/await – https://seanmonstar.com/post/187493499882/hyper-alpha-supports-asyncawait

2019-09-12 – async-stream v0.1.1 – https://github.com/tokio-rs/async-stream/releases/tag/v0.1.1

2019-09-13 – tokio-0.2.0-alpha4AsyncReadandAsyncWritetraits are not the same asfutures-0.3.0-alpha18` versions – https://github.com/tokio-rs/tokio/issues/1551

2019-09-14 – Tracking issue for std::future migration – https://github.com/actix/actix-net/issues/45

2019-09-14 – The Why, What, and How of Pinning in Rust – https://www.youtube.com/watch?v=DkMwYxfSYNQ&feature=youtu.be

2019-09-15 – Playing with the new async – https://vorner.github.io/2019/09/15/play-with-new-async.html

2019-09-18 – mio-timerfd 0.1.0 – https://github.com/oefd/mio-timerfd – https://crates.io/crates/mio-timerfd/0.1.0

2019-09-19 – Tide’s Future Direction – https://github.com/http-rs/tide/issues/325

2019-09-19 – Using async-std (was reqwest) – https://users.rust-lang.org/t/using-async-std-was-reqwest/32735

2019-09-20 – Will crates like tokio, mio and futures be still needed after async/await gets stabilized? – https://old.reddit.com/r/rust/comments/d6pw43/will_crates_like_tokio_mio_and_futures_be_still/f0v27a4/

2019-09-20 – tokio 0.2.0-alpha.5 – https://github.com/tokio-rs/tokio/releases/tag/tokio-0.2.0-alpha.5 – https://crates.io/crates/tokio/0.2.0-alpha.5

2019-09-20 – https://mobile.twitter.com/qnighy/status/1175057815313907712

2019-09-21 – ASYNC BUILDERS – https://blog.yoshuawuyts.com/async-finalizers/

2019-09-22 – https://mobile.twitter.com/qnighy/status/1175699769865359362

2019-09-22 – https://mobile.twitter.com/qnighy/status/1175678940926464000

2019-09-22 – https://mobile.twitter.com/qnighy/status/1175709767685177345

2019-09-24 – rumqtt v0.31.0 – https://github.com/AtherEnergy/rumqtt/releases/tag/v0.31.0

2019-09-27 – WASM Support – https://github.com/seanmonstar/reqwest/pull/630

2019-09-26 – Async Ecosystem Working Group Meeting #30 – https://github.com/rustasync/team/issues/143

2019-09-27 – futures-preview 0.3.0-alpha.19 – https://crates.io/crates/futures-preview/0.3.0-alpha.19

2019-09-29 – Fighting the Async fragmentation – https://vorner.github.io/2019/09/29/figthting-the-async-fragmentation.html

async ランタイムの断片化を心配する話

2019-09-30 – Async-await hits beta! – https://blog.rust-lang.org/2019/09/30/Async-await-hits-beta.html

Async Ecosystem WG が廃止
Async Foundations WG は async-book の整備に

2019-08

    • 2019-08-02 – Zero-Cost Asynchronous Programming in Rust – https://blog.knoldus.com/zero-cost-asynchronous-programming-in-rust/

2019-08-03 – Rustのasync/awaitをスムーズに使うためのテクニック – https://qiita.com/qnighy/items/59133e69a0ba0c6a7fef

2019-08-06 – Async I/O TransactionGuard – https://github.com/diesel-rs/diesel/issues/399#issuecomment-518422793

2019-08-08 – Swagger/OpenAPI Spec generation – https://www.reddit.com/r/rust/comments/cn9wrc/swaggeropenapi_spec_generation/

2019-08-08 – Tokio alpha release with async & await – https://tokio.rs/blog/2019-08-alphas/

2019-08-09 – tokio 0.2.0-alpha.1 – https://crates.io/crates/tokio/0.2.0-alpha.1

2019-08-09 – dtolnay::01_await_a_minute – https://docs.rs/dtolnay/0.0.3/dtolnay/macro_01__await_a_minute.html

2019-08-11 – Runtime configuration reloading – https://vorner.github.io/2019/08/11/runtime-configuration-reloading.html

2019-08-16 – Announcing async-std – https://async.rs/blog/announcing-async-std/ – https://news.ycombinator.com/item?id=20719095

2019-08-16 – https://mobile.twitter.com/asyncrs/status/1162393724745322496

2019-08-17 – Compatibility with tokio? – https://github.com/async-rs/async-std/issues/54

2019-08-17 – https://mobile.twitter.com/yoshuawuyts/status/1162492948430413824

2019-08-17 – https://mobile.twitter.com/Argorak/status/1162514356560699396

2019-08-18 – How Rust optimizes async/await I – https://tmandry.gitlab.io/blog/posts/optimizing-await-1/

2019-08-20 – futures-preview – 0.3.0-alpha.18 – https://crates.io/crates/futures-preview/0.3.0-alpha.18

2019-08-21 – https://mobile.twitter.com/yaahc_/status/1164176227722121216

2019-08-11 – async-log – 2.0.0 – https://github.com/async-rs/async-log/releases/tag/2.0.0

2019-08-12 – actix-webの柔軟なリクエストハンドラの仕組み – http://blog.endflow.net/flex-handler/

2019-08-13 – Rust 1.38 is scheduled to branch off today, but this PR didn’t land yet and there are a bunch of blockers still open. – https://github.com/rust-lang/rust/pull/63209#issuecomment-520741844

2019-08-14 – SURF – https://blog.yoshuawuyts.com/surf/

2019-08-14 – Diagnostics with Tracing – https://tokio.rs/blog/2019-08-tracing/

2019-08-14 – AWS’ sponsorship of the Rust project – https://aws.amazon.com/jp/blogs/opensource/aws-sponsorship-of-the-rust-project/

2019-08-14 – Should the standard library have a basic Future runtime? – https://internals.rust-lang.org/t/should-the-standard-library-have-a-basic-future-runtime/10705/11

2019-08-15 – Announcing Rust 1.37.0 – https://blog.rust-lang.org/2019/8/15/Rust-1.37.0.html

2019-08-15 – async generator changes – https://github.com/Nemo157/embrio-rs/pull/23

2019-08-15 – Understanding Futures in Rust — Part 2 – https://www.viget.com/articles/understanding-futures-is-rust-part-2/-

2019-08-17 – async-std v0.99.0 – https://github.com/async-rs/async-std/releases/tag/v0.99.0

2019-08-17 – Announcing async-std beta: an async port of the Rust standard library – https://www.reddit.com/r/rust/comments/cr85pp/announcing_asyncstd_beta_an_async_port_of_the/

2019-08-17 – fred.rs 1.1.1 – https://github.com/azuqua/fred.rs/releases/tag/1.1.1

2019-08-18 – tokio 0.2.0-alpha.2 – https://crates.io/crates/tokio/0.2.0-alpha.2

2019-08-21 – Remove async_await feature – https://github.com/rust-lang/async-book/pull/33

2019-08-23 – runtime-native 0.3.0-alpha.6 – https://crates.io/crates/runtime-native/0.3.0-alpha.6

2019-08-24 – replace redis-async with redis crate – https://github.com/actix/actix-redis/pull/30

2019-08-25 – Poll: Async/Await, let’s talk about executors! – https://users.rust-lang.org/t/poll-async-await-lets-talk-about-executors/31753

2019-08-27 – Async Stack Traces in Rust – https://fitzgeraldnick.com/2019/08/27/async-stacks-in-rust.html

2019-08-28 – Running RusotoFuture on tokio:0.2.0-alpha.2 – https://github.com/rusoto/rusoto/issues/1493

2019-08-28 – rust から redis を非同期で使う 2019夏 – https://qiita.com/hadashiA/items/22f331c8b407011fa7fa

2019-08-29 – surf 1.0.1 – https://github.com/http-rs/surf/releases/tag/1.0.1

2019-08-29 – tokio 0.2.0-alpha.3 – https://crates.io/crates/tokio/0.2.0-alpha.3

2019-08-30 – tokio 0.2.0-alpha.4 – https://crates.io/crates/tokio/0.2.0-alpha.4

2019-08-30 – Async ecosystems newsletter/blog post #1 – https://github.com/rustasync/team/issues/142

2019-07

    • 2019-07-04 – tokio – 0.1.22 – https://crates.io/crates/tokio/0.1.22

2019-07-04 – futures-preview 0.3.0-alpha.17 – https://crates.io/crates/futures-preview/0.3.0-alpha.17

2019-07-04 – Announcing Rust 1.36.0 – https://blog.rust-lang.org/2019/7/4/Rust-1.36.0.html

core::future が stable に入った

2019-07-05 – Rustの未来いわゆるFuture – https://tech-blog.optim.co.jp/entry/2019/07/05/173000

2019-07-05 – Update to std::future::Future futures/0.3 – https://github.com/actix/actix-web/issues/955

2019-07-06 – Rustのasync/awaitの特徴4つ – https://qiita.com/qnighy/items/05c38f73ef4b9e487ced

2019-07-07 – RustのFutureとそのRunnerを作ってみた – https://keens.github.io/blog/2019/07/07/rustnofuturetosonorunnerwotsukuttemita/

2019-07-08 – Async-await status report #2 – https://smallcultfollowing.com/babysteps/blog/2019/07/08/async-await-status-report-2/

2019-07-09 – Migrating a crate from futures 0.1 to 0.3 – https://www.ncameron.org/blog/migrating-a-crate-from-futures-0-1-to-0-3/

2019-07-17 – Notes on a smaller Rust – https://boats.gitlab.io/blog/post/notes-on-a-smaller-rust/

2019-07-19 – Determine the future of tower-web -https://github.com/carllerche/tower-web/issues/218

2019-07-27 – openapi-generatorで生成されたrustのコードでエラーがでる。 – https://ja.stackoverflow.com/questions/56943/openapi-generator%E3%81%A7%E7%94%9F%E6%88%90%E3%81%95%E3%82%8C%E3%81%9Frust%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A7%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E3%81%A7%E3%82%8B

2019-07-31 – Paperclip 0.3.0 released! – https://www.reddit.com/r/rust/comments/cjw534/paperclip_030_released/

2019-06

    • 2019-06-04 – Removing libpq (to enable async) – https://github.com/diesel-rs/diesel/issues/2084

2019-06-05 – actix-web 1.0.0 – https://github.com/actix/actix-web/releases/tag/web-v1.0.0

2019-06-05 – Actix-web 1.0 released – https://www.reddit.com/r/rust/comments/bwy99w/actixweb_10_released/

2019-06-12 – 「Rustで始めるネットワークプログラミング」を出版しました。 – https://cha-shu00.hatenablog.com/entry/2019/06/12/231526

2019-06-13 – Green Threads Explained in 200 Lines of Rust – https://cfsamson.gitbook.io/green-threads-explained-in-200-lines-of-rust/

2019-06-14 – AWS Kinesis ひたすら読みにいく k-iter の複数 shard 対応(と、Rust の Future/Stream/Tokio 話) – https://rohki.hatenablog.com/entry/2019/06/24/210938

2019-06-17 – runtime-native 0.3.0-alpha.4 – https://crates.io/crates/runtime-native/0.3.0-alpha.4

2019-06-18 – Rust Creator Graydon Hoare Talks About Security, History, and Rust – https://thenewstack.io/rust-creator-graydon-hoare-talks-about-security-history-and-rust/

2019-06-19 – How Rust Views Tradeoffs – https://www.infoq.com/presentations/rust-tradeoffs/

2019-06-20 – Distributed Systems Training in Go and Rust – https://pingcap.com/blog/distributed-systems-training-in-go-and-rust/

2019-06-20 – RUST STREAMS – https://blog.yoshuawuyts.com/rust-streams/

2019-06-20 – tokio::spawn failed (is a tokio runtime running this future?) – https://github.com/http-rs/tide/issues/280

2019-06-24 – Survivor skills – https://aturon.github.io/personal/2019/06/24/survivor-skills/

2019-06-25 – Back in the saddle – https://aturon.github.io/tech/2019/06/25/back-in-the-saddle/

2019-06-27 – runtime-native 0.3.0-alpha.5 – https://crates.io/crates/runtime-native/0.3.0-alpha.5

2019-06-27 – futures-rs – 0.1.28 – https://github.com/rust-lang/futures-rs/releases/tag/0.1.28

2019-06-29 – ASYNC LOG – https://blog.yoshuawuyts.com/async-log/ – https://mobile.twitter.com/yoshuawuyts/status/1144750481631301632

2019-06-29 – Lambda with Async/Await – https://github.com/awslabs/aws-lambda-rust-runtime/pull/111

2019-05

    • 2019-05-06 – A final proposal for await syntax – https://boats.gitlab.io/blog/post/await-decision/

2019-05-06 – redisconf19 – Writing Redis Modules In Rust – https://www.reddit.com/r/rust/comments/bl0vew/redisconf19_writing_redis_modules_in_rust/

2019-05-09 – tokio console – https://github.com/tokio-rs/console

2019-05-10 – async support – https://github.com/awslabs/aws-lambda-rust-runtime/pull/106

2019-05-11 – futures-preview 0.3.0-alpha.16 – https://crates.io/crates/futures-preview/0.3.0-alpha.16

2019-05-12 – Rewrite async/await in their entirety – https://github.com/Nemo157/embrio-rs/pull/13

2019-05-13 – runtime-native 0.3.0-alpha.3 – https://crates.io/crates/runtime-native/0.3.0-alpha.3

2019-05-15 – 4 years of Rust – https://blog.rust-lang.org/2019/5/15/4-Years-Of-Rust.html

2019-05-16 – Zero Cost Abstractions – https://boats.gitlab.io/blog/post/zero-cost-abstractions/

2019-05-18 – https://mobile.twitter.com/yutakashino/status/1129529590697717760

2019-05-23 – Announcing Rust 1.35.0 – https://blog.rust-lang.org/2019/5/23/Rust-1.35.0.html

dbg! マクロ

2019-05-27 – Can we reduce the burden of cancel-correctness for async Futures? – https://internals.rust-lang.org/t/can-we-reduce-the-burden-of-cancel-correctness-for-async-futures/10278

2019-05-28 – Async/Await – The challenges besides syntax – Cancellation – https://gist.github.com/Matthias247/ffc0f189742abf6aa41a226fe07398a8

2019-05-28 – Update on await syntax – https://boats.gitlab.io/blog/post/await-decision-ii/

2019-05-31 – tokio 0.1.21 – https://crates.io/crates/tokio/0.1.21

2019-04

    • 2019-04-02 – Explained: How does async work in Rust? – https://levelup.gitconnected.com/explained-how-does-async-work-in-rust-c406f411b2e2 – https://dev.to/gruberb/explained-how-does-async-work-in-rust-46f8

2019-04-11 – thruster 0.7.0 – https://crates.io/crates/thruster/0.7.0

2019-04-15 – for await loops (Part I) – https://boats.gitlab.io/blog/post/for-await-i/

2019-04-16 – RUNTIME – https://blog.yoshuawuyts.com/runtime/

Async Ecosystem WG は std と同じ使い勝手の async 環境のために runtime の抽象化を試みていた

2019-04-16 – futures-preview 0.3.0-alpha.14 – https://crates.io/crates/futures-preview/0.3.0-alpha.14

2019-04-17 – runtime-native 0.3.0-alpha.1 – https://crates.io/crates/runtime-native/0.3.0-alpha.1

2019-04-18 – Futures 0.1 Compatibility Layer – https://rust-lang.github.io/futures-rs/blog/2019/04/18/compatibility-layer.html

2019-04-15 – tide 0.1.0 – https://github.com/http-rs/tide/releases/tag/0.1.0

2019-04-15 – Understanding Futures In Rust — Part 1 – https://www.viget.com/articles/understanding-futures-in-rust-part-1/

2019-04-17 – Announcing Runtime – https://internals.rust-lang.org/t/announcing-runtime/9825

2019-04-21 – The Nuclear Reactor Design Pattern – https://vorner.github.io/2019/04/21/nuclear-reactor-design-pattern.html

2019-04-21 – async-timer 0.1.0 – https://github.com/DoumanAsh/async-timer – https://crates.io/crates/async-timer/0.1.0

2019-04-22 – RustLatam 2019 – Without Boats: Zero-Cost Async IO – https://www.youtube.com/watch?v=skos4B5x7qE

2019-04-23 – [tracking issue] timers – https://github.com/rustasync/runtime/issues/14

2019-04-24 – RustLatam 2019 – Without Boats: Zero-Cost Async IO – https://www.reddit.com/r/rust/comments/bgikha/rustlatam_2019_without_boats_zerocost_async_io/

2019-04-25 – Made timerfd implementation with romio – https://github.com/rustasync/team/issues/14#issuecomment-486279799

2019-04-27 – tower 0.1.0 – https://github.com/tower-rs/tower/releases/tag/tower-0.1.0

2019-04-27 – 0.3.0-alpha.15 – https://crates.io/crates/futures-preview/0.3.0-alpha.15

2019-04-28 – async is not zero-cost – https://www.reddit.com/r/rust/comments/bi9yzs/async_is_not_zerocost/

2019-04-29 – juliex 0.3.0-alpha.6 – https://github.com/withoutboats/juliex/releases/tag/0.3.0-alpha.6

2019-04-29 – runtime-native 0.3.0-alpha.2 – https://crates.io/crates/runtime-native/0.3.0-alpha.2

2019-04-29 – http-service 0.2.0 – https://github.com/http-rs/http-service/releases/tag/http-service-0.2.0

2019-03

    • 2019-03-01 – Async-await status report – https://smallcultfollowing.com/babysteps/blog/2019/03/01/async-await-status-report/

await 論争

2019-03-05 – Actix web 0.7.19 – https://github.com/actix/actix-web/releases/tag/v0.7.19

2019-03-14 – Question: Is it possible to use warp on zeit or aws lambda – https://github.com/seanmonstar/warp/issues/190

2019-03-15 – Switching to tower::Service – https://github.com/hyperium/hyper/issues/1782

2019-03-19 – Async IO in Rust and Haskell – https://slides.com/wraithm/async-io-in-rust-and-haskell/

2019-03-19 – Explained: Futures in Rust for Web Development – https://dev.to/gruberb/explained-rust-futures-for-web-development-a10

2019-03-25 – std::pin の勘所 – https://www.slideshare.net/HiroakiGoto/stdpin

2019-02

    • 2019-02-04 – osaka.rs – https://aep.github.io/rust-async-without-the-noise/ – https://github.com/aep/osaka – https://news.ycombinator.com/item?id=19104065

 

    • 2019-02-04 – Rust Governance: Scaling Empathy – https://manishearth.github.io/blog/2019/02/04/rust-governance-scaling-empathy/

2019-02-09 – async/awaitと合成可能性 – https://keens.github.io/blog/2019/02/09/async_awaittogouseikanousei/

2019-02-10 – osaka.rs メモ – https://qiita.com/maueki/items/c0bb363120e0f01d27ec

2019-02-11 – Generators I: Toward a minimum viable product – https://boats.gitlab.io/blog/post/generators-i/

2019-02-14 – futures-native-timers – https://github.com/tinaun/futures-native-timers

2019-02-18 – Generators II: The Question Mark Problem – https://boats.gitlab.io/blog/post/generators-ii/

2019-02-21 – futures-preview 0.3.0-alpha.13 – https://crates.io/crates/futures-preview/0.3.0-alpha.13

2019-02-22 – Rust lang team working groups – https://smallcultfollowing.com/babysteps/blog/2019/02/22/rust-lang-team-working-groups/

2019-02-22 – Toy Future combinators with async/await syntax – https://www.reddit.com/r/rust/comments/at6gh7/toy_future_combinators_with_asyncawait_syntax/

2019-02-27 – ASYNC ECOSYSTEM WG – https://blog.yoshuawuyts.com/async-ecosystem-wg/

Async Ecosystem WG (rustasync) は tide, romio, juliex を開発

2019-01

    • 2019-01-07 – The Waker API I: what does a waker do? – https://boats.gitlab.io/blog/post/wakers-i/

2019-01-10 – HTTP Client Trait – https://github.com/hyperium/http/issues/288

carllerche は tower が http server/cliernt 抽象化層になるはずとのこと

2019-01-11 – The Waker API II: waking across threads – https://boats.gitlab.io/blog/post/wakers-ii/

LocalWaker がいらない理由

2019-01-16 – futures-preview 0.3.0-alpha.12 – https://crates.io/crates/futures-preview/0.3.0-alpha.12

2019-01-18 – Move to Rustasync organization ? – https://github.com/withoutboats/juliex/issues/21

2019-01-18 – Move to Rustasync organization ? – https://github.com/withoutboats/romio/issues/94

2019-01-25 – aws-lambda-rust-runtime v0.2.0 – https://github.com/awslabs/aws-lambda-rust-runtime/releases/tag/v0.2.0

2019-01-28 – tracing-core 0.1.0 – https://github.com/tokio-rs/tracing/releases/tag/tracing-core-0.1.0

2019-01-31 – Tracking issue: timer bindings #62 – https://github.com/withoutboats/romio/issues/62

广告
将在 10 秒后关闭
bannerAds