Async Ecosystem WG

The Async Ecosystem WG is meeting regurlary every Thursday on Discord: wg-net-web. The meeting notes can be found in our GitHub repository and here in this thread.


Six-Week Sprint

  • End date: 2019-05-02 (six weeks)
    • Sprint goals
      • One week away from the end of the sprint
      • Tide: Probably merging the Context PR is the only achievable goal, good progress in regards to session management though
      • Async book: Could finish the goals
      • Website goals seem to be done
      • Library ecosystem: Done as well
      • Preparing the next sprint: Some pre-thinking is needed ahead of the next meeting; formalize and communicate the project list on the agenda is also one important factor for next sprint
      • In addion we could have rough leads on each sub-project
      • Still need to update the discord channels and the README
    • Yosh not attending 02/05 meeting

Working Group Updates

  • Status updates

    • tide
      • Improved cookie support landed (PR)
        • Great example of how to use middleware and context extensions
        • It extends Context with the ability to both read and write cookies
        • The middleware, after invoking the endpoint, then reads out the updated cookies and adds them to the response
        • Could code example to get familiar with Context and middleware
      • General very active in the last week, lots of discussions and new members
      • PR is coming up soon which does the crate split discussed last week
      • Need to workout a process for review and contribution, and when folks are allowed to merge
      • http-service: Returns now a future (PR), now we can work on this issue in tide
      • Breaking change to http-service-hyper that changes function signature (serve → run, serve_async → serve)
    • futures
      • futures_api is now stable in nightly
      • futures crate updated accordingly
      • expect a PR to put remaining unstable features in futures crate behind a feature flag, so that the crate can work on stable
    • runtime
      • Patched a bug where macros would fail
      • Quite popular, past 500 stars on GitHub
      • Created tracking issues for people to get involved (link)
    • romio + juliex
      • no updates
    • async rust book
      • Approaching cramertj and coming up with a plan next week
      • Plan is to move the book under the rustasync umbrella
    • arewewebyet
      • Removed outdated packages
      • Added two new topics:
        • asyncio:
          • tokio
          • futures
        • nodejs
          • neon
  • Issue triage (org | tide)

    • PR sign-off process



  • Aaron will take a break for a while; currently set for about a month
  • @yoshua w will take over the meetings for this time, with the help of @V B
  • Stable Futures set for release 1.36
  • Stable .await syntax set for release 1.37

Six-Week Sprint

  • End date: 2019-05-02 (six weeks)
    • Last week was the end of the previous sprint; we didn’t kick off a new one yet
  • Reflect on past sprint
    • Sprint tracking didn’t go well
    • Milestones could help with keeping an up-to-date view of the sprint
    • Using GitHubs org board for the next sprint to get a better overview what is being worked on
    • Set sprint goals and check them into the team repository
    • Weekly management of the sprint goals via the org board in GitHub
  • Plan new sprint
    • tide
      • Carry over the “stable core” RFC into the next sprint (link)
      • Session management
      • A way of handling CORS in tide
      • TLS
      • Authentication
    • runtime
      • Add WASI support (APIs + macros)
      • WASM Support (macros)
      • timers
      • UNIX domain sockets
      • Better stream syntax using for_each
    • async book
      • Outline done
      • Open issues for each section
      • Started the migration guide
      • Written two example sections
        • like how to write a future app (http client and server)
        • A crawler would be a good idea for a client.


Six-Week Sprint (2019-05-16 — 2019-06-20)

  • Open "``sprint``" issues
  • Board is open now, ToDos are added for all open issues
  • How async-compression looks like right now will probably stay that way, aside from asyncbufread
  • Writing a blog post about the compression issue so people know there is a compression middleware available (will be added to the sprint goals)

Working Group Updates

  • tide
    • tide-cors: We can re-use some implementation from actix, also @Prasanna L implemented a small version for tide which can be extended
    • The modular split for tide came quite far: One PR is merged, the other one can maybe be merged this week; we should land the last PR as well before we push a new release
    • app.serve will return a Future, where starts the server (still some examples are needed for use cases and how it used in the end)
    • futures
      • Futures has a new release(0.3.0-alpha.16) which supports the new .await syntax
      • We need to open a discussion about moving Futures off the -alpha/-preview releases once it’s stabilizes
      • Stream is part of futures-core which is intended to be non-breaking once it releases
      • Sink is in a separate futures-sink crate, which means breaking changes are possible
    • runtime
      • no updates this week
    • books
      • Discussion around the outline/content started (link)
      • Open for input
      • No content yet
    • websites
      • No updates this week
  • PR sign off process
    • We need to establish basic, low key requirements to accept and merge pull requests
    • Maybe with the help of GitHub to set some requirements before a PR can be merged (minimum number of reviews for example)
    • PR has to be linked to an issue where consensus has been reached with regards to the general approach to solving the problem
    • The tool bors might be a help with some of the issues
1 Like


  • Reminder to write minutes

Working Group Updates

  • RFC Triage
    • Two new RFCs will be opening discussion session management and authentication
    • Setting up a process for working with RFCs
      • Centralized RFCs repo or per repo RFC dir?
        • Per repo RFCs for now, more discussion to happen on the rustasync/team repo.
  • Six-Week Spring (2019-05-16 - 2019-06-20)
    • Open “sprint” issues
    • A lot of progress has been made across most of the issues being tracked.
    • Discussion around how to name extension traits in tide. More discussion to happen in the associated issue.
  • Status Updates
    • tide
      • Building a TodoMVC backend.
      • tide-core: more work has been done to decouple sub projects
      • RFCs will be opened soon for sessions and authentication.
    • futures
      • Biggest change is futures-preview now has a beta build which does not require the async-await feature.
    • runtime
      • Timers should be releasing next week.
      • Next month work will be starting on for_await(parallel) and a new crate par which abstracts over rayon/runtime
    • books
      • No progress made over the last week.
      • Meeting with the compiler team to have the right resources to guide people with the upcoming async/await feature.
    • websites
      • No updates this week.
  • Office hours


  • Reminder to write minutes

Working Group Updates

1 Like


  • Working Group Updates
    • RFC Triage
      • One open RFC about extensible routing; needs more reviews (link)
    • Six-Week Sprint (2019-05-16 — 2019-06-20)
      • Open "sprint" issues
      • Current status: 6 items done, 6 in progress, 7 in todo
      • Session Management has to be picked up by someone (issue)

    Status updates

    • tide
      • Current master fails to build with nightly after about 2019-06-01 (bug in the compiler). This is affecting people who want to use tide obviously as well (issue)
      • The restructure PR has to be merged so we can continue the other open todos (pr)
      • testing framework is about to moved into its own submodule (pr)
    • futures
      • No updates this week
    • runtime
      • No updates this week
    • books
      • No updates, “get book outline” is still open (issue)
      • The idea so far is moving it to a more cookbook style book
      • Weekly meetings to get the docs up to speed for async/await and 1.37; those will happen every Tuesday
      • CI is now in place to build the books
      • The book is being worked on this repository (link)
      • The book has its own zulip stream (link)
    • websites
      • No Updates this week
    • Pre-allocate agenda items
      • It would help the meeting in general to fill out the status updates before the meeting. The WASM WG is doing that and it seems to work quite well there.