How should I structure an async/await/futures program with multiple event sources and mutable state?

This page summarizes the projects mentioned and recommended in the original post on /r/rust

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • actix

    Actor framework for Rust.

  • I'd just use Actix for that. Make your state an actor and make it a StreamHandler for each of these sources, and that's it - now you just implement the business logic for handling each message in the StreamHandler::handle methods.

  • wg-async

    Working group dedicated to improving the foundations of Async I/O in Rust

  • Provided the futures you're selecting over are cancellation safe the plain loop over select! should be fine. Multiple channels in particular are safe to select over - if you have futures that aren't cancellation safe, you can just wrap them up in a task on the end of a channel and then select on that.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Actix - Actor framework for Rust.

    1 project | /r/github_trends | 8 May 2022
  • Actix Actor Framework v0.11 has been released

    1 project | /r/rust | 21 Mar 2021
  • Lunatic - An Erlang inspired runtime for all programming languages

    5 projects | /r/programming | 8 Mar 2021
  • Packet capture (use PcapPlusPlus in Rust?)

    2 projects | /r/rust | 11 May 2023