PackageTrack
Sign in Get early access

madsim-tokio

The `tokio` simulator on madsim.

0.2.30 6.5M downloads/mo #3937 most downloaded on crates.io madsim-rs/madsim

What this package is like to depend on

Last release 2 years ago

no release in 18 months

Ships fairly regularly

a new release about every 2 months

Nearly every release is documented

notes for 14 of 14 stable releases

Nothing withdrawn

no release was ever pulled

4 years old

20 releases · first in 2022

0 releases in the last 12 months

see the full history below

Release timeline

20 releases · May 2022 to Oct 2024
2023 2024 2025 2026
Release Pre-release

Releases

latest 20
  1. 0.2.30 04 Oct 2024
    Release notes

    Removed

    • Remove Handle::spawn and Handle::spawn_blocking as the implementation is incorrect.
    Open source →
  2. 0.2.29 09 Aug 2024
    Release notes

    Added

    • Implement Debug for Handle and AbortHandle.

    Fixed

    • When MADSIM_ALLOW_SYSTEM_THREAD is set, executor won't panic when no task is ready.
    Open source →
  3. 0.2.28 06 Jun 2024
    Release notes

    Fixed

    • Fix the problem that Handle::spawn spawns the task in a new node.
    Open source →
  4. 0.2.27 05 Jun 2024
    Release notes

    Added

    • Add Runtime::handle().
    Open source →
  5. 0.2.26 27 May 2024
    Release notes

    Added

    • Add a fake runtime::Handle. Note that this is a re-export of madsim::task::Handle. Tasks spawned with this handle are not correctly associated with the tokio runtime.
    Open source →
  6. 0.2.25 08 Apr 2024
    Release notes

    Signed-off-by: Runji Wang [email protected]

    Open source →
    Release notes

    Removed

    • Remove stats feature to allow tokio >=1.33.
    Open source →
  7. 0.2.24 26 Oct 2023
    Release notes
    • fix time on x86_64 macos

    Signed-off-by: Runji Wang [email protected]

    • add path to madsim deps

    Signed-off-by: Runji Wang [email protected]

    • update deps for madsim

    Signed-off-by: Runji Wang [email protected]


    Signed-off-by: Runji Wang [email protected]

    Open source →
    Release notes

    Fixed

    • Fix intercepting time on x86_64 macOS, Rust 1.75.0.
    Open source →
  8. 0.2.23 30 May 2023
    Release notes

    Signed-off-by: Runji Wang [email protected]

    Open source →
    Release notes

    Fixed

    • madsim: Return an error instead of panicking when lookup_host receives an invalid address.
    Open source →
  9. 0.2.19 07 Apr 2023
    Release notes

    Signed-off-by: Runji Wang [email protected]

    Open source →
    Release notes

    Added

    • madsim: Print context information on panic.
    • madsim: Add AbortHandle.
    • madsim: Add RuntimeMetrics.
    • tokio: Support dropping Runtime.

    Changed

    • madsim: Futures of a killed node are dropped after a while.
    Open source →
  10. 0.2.15 07 Feb 2023
    Release notes

    Added

    • madsim: Add buggify.
    • madsim: Add JoinHandle::{id, is_finished}.
    • madsim: Add signal::ctrl_c and Handle::send_ctrl_c.
    • madsim: Add Handle::is_exit.
    • Add S3 simulator.

    Changed

    • madsim: After the initial task completes, the other tasks of the node are dropped.
    Open source →
  11. 0.2.11 02 Dec 2022
    Release notes

    Added

    • tokio: Add task::Builder::new_current_thread but panic inside.
    • tonic: Add service module and Extensions.
    • tonic: Support interceptor.

    Fixed

    • tonic: Fix passing metadata in request and response. Add content-type and date field.
    • tonic: Fix panic on unimplemented error.
    Open source →
  12. 0.2.7 15 Sep 2022
    Release notes

    Added

    • tokio: Add fake Runtime.

    Changed

    • madsim: Change the default seed to the nanosecond of current time.
    • madsim: Wait for a while after panicking before restart.

    Fixed

    • madsim: Avoid closing socket of a restarted node.
    Open source →
  13. 0.2.2 24 Aug 2022
    Release notes

    Added

    • madsim: Add task::Builder API.
    • madsim: Support auto restarting a node on panic.

    Changed

    • madsim: Rename TaskNodeHandle to Spawner.

    Removed

    • madsim: Deprecate spawn_blocking.
    Open source →
  14. 0.2.0 10 Aug 2022
    Release notes

    Added

    • madsim-tonic: Add missing methods of Endpoint and Server.

    Fixed

    • madsim-tokio: #[tokio::main] no longer requires madsim crate.

    Removed

    • madsim: Remove collections module since we can use std's directly.
    Open source →
  15. 0.2.0-alpha.7 06 Aug 2022 pre-release
    Release notes

    Added

    • madsim: Allow user to set the number of CPU cores and simulate std::thread::available_parallelism.
    • madsim: Add MADSIM_TEST_JOBS environment variable to set the number of jobs to run simultaneously.
    • madsim: Introduce runtime Builder.
    • madsim: Expose seed via Handle::seed.

    Fixed

    • madsim: Fix the local address after bind 0.0.0.0.
    • madsim-tonic: Client connecting to an invalid address should return error.

    Removed

    • madsim: Remove Runtime::{enable_determinism_check, take_rand_log}. Replaced by check_determinism.
    Open source →
  16. 0.2.0-alpha.6 01 Aug 2022 pre-release
    Release notes

    Added

    • Make deterministic on rand and std::{collections::{HashMap, HashSet}, time::{SystemTime, Instant}}.

      Exception: rand is not deterministic on linux. use madsim::rand instead.

    Changed

    • madsim-macros: Every simulation now runs on a new thread to ensure the determinism.
    • madsim-tonic: Update tonic to v0.8. Additional system protoc is required.
    Open source →
  17. 0.2.0-alpha.5 26 Jul 2022 pre-release
    Release notes

    Added

    • Migrate a new crate madsim-tokio-postgres for simulation.
    • madsim-tokio: Add task_local, task::LocalKey, signal::ctrl_c.
    • madsim-tonic: Support Request::remote_addr and returning error from server.

    Fixed

    • madsim: Refactor TCP simulator and fix several bugs. (#18)
    • madsim: Avoid some panics on panicking.
    Open source →
  18. 0.2.0-alpha.4 18 Jul 2022 pre-release
    Release notes

    Added

    • madsim: Add TCP simulation.
    • madsim-tokio: Add task::consume_budget and task::Id.

    Fixed

    • madsim: Avoid duplicate connection and close unused connection on TCP.
    • madsim-tokio: Fix full feature.
    Open source →
  19. 0.2.0-alpha.3 25 May 2022 pre-release
    Release notes

    Added

    • madsim: Add serde API to HashMap.
    • madsim-norandom: A preview library for intercepting libc getrandom.

    Changed

    • Breaking: Change the way to enable simulation: #[cfg(feature = "sim")] -> #[cfg(madsim)].

    Fixed

    • Lock version on madsim dependencies to prevent API broken.
    Open source →
  20. 0.2.0-alpha.2 21 May 2022 pre-release
    Release notes

    Added

    • Add a new crate madsim-tokio for tokio simulation.
    • madsim/sim: Add time::interval and task::yield_now.
    • madsim/sim: Complete methods for Sleep, Elapsed, JoinError and JoinHandle.
    • madsim-tonic: Add Server::layer but don't implement it.

    Changed

    • Breaking: madsim: Switch JoinHandle to tokio style which won't cancel task on drop.
    • madsim-macros: Improve error message on panic in simulation.

    Fixed

    • madsim: Fix TCP performance issue by setting NODELAY.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive