Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/tokio-rs/turmoil
Add hardship to your tests
https://github.com/tokio-rs/turmoil
If customer set custom timer for tracing subscriber that uses
sim_elapsed to log simulation tim...
ce025e2503ba45b375a1b9ed05eb6e3526656eb4 authored 11 months ago by Zak van der Merwe <[email protected]>
Previously, we only exposed `turmoil::elapsed` which returned the
elapsed virtual time for the ...
* Update Axum example to use axum 0.7 and hyper 1.
* update hyper-util dependency
b46f60ee36614161756fa036aa12b9d93a9cf5f1 authored 12 months ago by Tanner Rogalsky <[email protected]>79556aa5bd55e7ac1763f26365abed9b180c017b authored 12 months ago by Brett McChesney <[email protected]>
5fa7c3d3374c376ed9475da356a10bb917d19ad2 authored 12 months ago by Brett McChesney <[email protected]>
* Update actions/checkout action to v4
* Replace unmaintained actions-rs/cargo action
* Replac...
Add some documentation on how to use the tracing level of turmoil to see
individual packet flow...
265606d2a2d7c8e164c4f24dbce13269a9dc4c36 authored about 1 year ago by Ben Schofield <[email protected]>
- Avoid trying to spawn on teardown when the rt is gone
- Deliver loopback packets in the next ...
Add documentation to the sim builder and the config, particularly
focused on default values.
...
b8ce7d1f971a3cc876f4a7306820da451741067e authored about 1 year ago by Ben Schofield <[email protected]>
This commit fixes the turmoil sim builder by removing the `rng`
function. Currently the `build`...
19a7ef524ae1c1de47afc7a626609e2ca21d47ab authored about 1 year ago by Brett McChesney <[email protected]>
Previously if you specify a `min_message_latency` greater than the default
`max_message_latency...
Do not send a Fin upon the write half drop if the stream is
already shutdown but still perform ...
22f417e8f26dcdddcffb252983ee66bc9ad11c08 authored about 1 year ago by Brett McChesney <[email protected]>
If the stream is shutdown manually it sends a FIN on the write half,
however we don't check the...
c4d28d63dcbe903d4eb0626e2367577fa35be88a authored about 1 year ago by Brett McChesney <[email protected]>
Current workaround for loopback does not allow connecting to the same
host when using the publi...
7616f9a4645e73b3f4f5ec13c26ea24be168d464 authored over 1 year ago by Brett McChesney <[email protected]>
4c23b669e1499b2a1a57842dc60b6829cc887253 authored over 1 year ago by Brett McChesney <[email protected]>
Make net types more realistic by returning `io::Error`s instead of panicking
when hosts cannot ...
Exposing these outside of a client host is useful for some scenarios.
cb76a7ed119a52cff274028958b1d52f0ebba044 authored over 1 year ago by tim gretler <[email protected]>af1bbf393fc3461cd2555e8d470f68f3bee3ff95 authored over 1 year ago by tim gretler <[email protected]>
A `tracing` span is entered with host information for each execution iteration in the run loop.
5954ef3a6259205986bf231a61314a9a1cfdd5e1 authored over 1 year ago by Petrichor <[email protected]>dcb034628df0bb6bf489d33172940d807f4f41a7 authored over 1 year ago by Brett McChesney <[email protected]>
Behavior stays the same for now, but the values can at least be
modified for chatty use cases.
78ca18d3c08b8f0be9ce51ac7f686c9961bf74fe authored over 1 year ago by Petrichor <[email protected]>
a2bb6421f834b94c0a7bd1e93f1947d1080c9711 authored over 1 year ago by Brett McChesney <[email protected]>
This change adds UDP and TCP support for loopback. Packets sent over loopback
do not flow throu...
There was a bug where binding an already bound port would wipe the existing
before returning an...
1971d604ba05ea6487ff26508c463e7b1a217f88 authored over 1 year ago by Petrichor <[email protected]>
Applying a "hold all" panics as the resolution does not take into
account matching `IpAddr`s fo...
a71fb12e432f287c62dbe93caa9bbf3402639166 authored over 1 year ago by Petrichor <[email protected]>
52ed4f76e4d5078cb2609a8f633ade9fadfb2f0e authored over 1 year ago by Konrad Stepniak <[email protected]>
Fix a type o on 0.5.3 notes
90a0d59cf139ae3da69e8c27ebc6662ff7540d14 authored over 1 year ago by Brett McChesney <[email protected]>4a468f11fd7e643e46d751d1a671e76f297fb1c8 authored almost 2 years ago by Brett McChesney <[email protected]>
6338d3fc2da483411b7044ba093de74080e12f12 authored almost 2 years ago by Brett McChesney <[email protected]>
Change generated host IP addresses to be in 192.168.0.0/24 subnet.
Improve parsing IP addresses...
Buffer the remainder of a received data segment to serve subsequent
reads.
2d0fadde00de4011621607b933eb170f723111a3 authored almost 2 years ago by Brett McChesney <[email protected]>
2e3d2d3d8c75d5a0bde216d7985dd38e995cf3fe authored almost 2 years ago by Cameron Bytheway <[email protected]>
f2fd9bb54973c00afcd3d859d320e3d35d1f3102 authored almost 2 years ago by Cameron Bytheway <[email protected]>
32a40e7f0cbf73b8b43a4ec1097c8703df36ca43 authored almost 2 years ago by Cameron Bytheway <[email protected]>
9ec0cb771f8d92127469ac3d935a694ca810c317 authored almost 2 years ago by Brett McChesney <[email protected]>
Moves most of the README.md content to the crate documentation.
edf735600eb89009bc1b2569394afc6b629c6a1d authored almost 2 years ago by Brett McChesney <[email protected]>
Hosts were made fallible in #67, which surfaced a bug in the
sim's event loop when hosts were c...
This reverts commit feca39de88fa3313b1f5c33ced3ace221c6a2b82.
319e1b0b8e5899702db24d644b36c33450f79aa4 authored almost 2 years ago by Konrad <[email protected]>8256992a4c6a1c4791623f8853e93f559911639e authored almost 2 years ago by Brett McChesney <[email protected]>
52f8411801f03bb5a87dd88a2ff84698eaf6afb1 authored almost 2 years ago by David Pedersen <[email protected]>
Hosts may now bind to "unspecified" or explicitly to `127.0.0.1` or `::1`
for TCP. Using the la...
We've got support for overriding the max, but it is also useful to
set a single latency duratio...
7c7d35bf60cbf3121d15242a766563d583ff7146 authored almost 2 years ago by Lucio Franco <[email protected]>
When we crash a host, we are dropping the host's runtime causing
the task to be cancelled.
...
4c563516dcb502d0a5af15d43cb254ac14cc9a67 authored almost 2 years ago by Sergii Tereshchenko <[email protected]>b212467677c72e1c697ebfb845812579a32aff00 authored almost 2 years ago by Lucio Franco <[email protected]>
Dependencies updated to latest versions.
d12a7a7e3007f4b12e3cdac55bc1e31855f6cfb8 authored almost 2 years ago by Byron Batteson <[email protected]>
This allows various host interactions via regex matches to reduce the
effort to induce more com...
The sim now supports iterating each host pair's network link, as well
as each message that is c...
Break out the inside of the `run()` loop into a public method
to allow callers to create their ...
All dependencies are updated to their latest versions.
cc1ad8b8c827a135f4b2218e4917d94ffa333656 authored almost 2 years ago by Brett McChesney <[email protected]>* Make tokio unstable opt in
We use `unhandled_panic` to forward host software panics as test...
fcf338e7bbd5fff62d50aa227707430c37b71ed7 authored almost 2 years ago by Brett McChesney <[email protected]>
Host software supports returning a `Result`, which allows all failures
to propagate to `Sim::ru...
* Add more type conversions for ToSocketAddrs
* Add dns parsing and test
ecf271c1de6e6940b17041b352b9ffec7669cbda authored almost 2 years ago by Lucio Franco <[email protected]>0b1b2100938b692429c046fefcbb209890145967 authored almost 2 years ago by ad hoc <[email protected]>
a43f441d7684f4db4aae2cd23932b7f6d20eb88d authored almost 2 years ago by ad hoc <[email protected]>
Run actions on all PR and fix indentation.
bf9b55a7d4a5f4492bc141f6ad972538a1f02ec8 authored almost 2 years ago by ad hoc <[email protected]>8b7170f0f206d5036c7fedcacbdd96e159975f6b authored almost 2 years ago by ad hoc <[email protected]>
Align with `tokio::net` for consistency.
2c0423df65026b6fba311d0e7426c48b81c441cc authored almost 2 years ago by ad hoc <[email protected]>16d30ee03d73b5c0aec30c3d8af24814ea2bfaa3 authored about 2 years ago by Brett Mcchesney <[email protected]>
Previously, we simply tracked the elapsed duration after each tick. This makes it impossible to ...
c2186d6fe93ec2bbd3d7a204cb0290af45ce85e0 authored about 2 years ago by Brett McChesney <[email protected]>0c3aec9a6d0dc6d9cc55a541c45174e53451af00 authored about 2 years ago by Dominic Lupo <[email protected]>
492b1f602f0e8e787644b7ac55ecec59d31cb712 authored about 2 years ago by ad hoc <[email protected]>
2589bc04ae955d5c4c67ad2518f95a18c413b908 authored about 2 years ago by Brett Mcchesney <[email protected]>
Each invocation of `run()` moves the simulation's logical time forward. Systems that use logical...
3507124e366045c39151c17986cd205dea038484 authored about 2 years ago by Brett McChesney <[email protected]>193cc724421c44973e79ecd8f3fd11462b21e81e authored about 2 years ago by Brett Mcchesney <[email protected]>
Everything was at `info`, which got pretty noisy. We now use
`tracing` directly and leverage le...
I observed a bug where moving a `TcpListener` into a spawned task
was not dropped after crash r...
43e0edb0a3cfac82a6f8ac7905cef7f0c2e03dd7 authored about 2 years ago by Brett Mcchesney <[email protected]>
8ac434efd59b9bb781e89c5e1b90b3891d090aa2 authored about 2 years ago by Brett Mcchesney <[email protected]>
db54b3a50e79b052007dfbb82cb2f2288cf8e012 authored about 2 years ago by Brett Mcchesney <[email protected]>
Refactor the stream to enable splitting into distinct read/write
halfs, with the ability to reu...
Interior mutability was initially chosen to align with the `tokio::net`
API. This actually dive...
68bcfb13ce7e1b654347110c274204681730db14 authored about 2 years ago by Brett McChesney <[email protected]>
`TcpListener` and `TcpStream` are implemented with the minimal APIs mirrored
from `tokio::net` ...
4547f0988ea6c893c27984c0ee69c957c91a884b authored about 2 years ago by Brett McChesney <[email protected]>
This is a large refactor that includes support for multiple
`SocketAddrs` on each host, IP base...
ee0cfd66bbcc7e01331a61c84f605ddf38b36436 authored about 2 years ago by Brett Mcchesney <[email protected]>
The original implementation adds some friction as you need a mutable
ref of the `Log` to write.
...
The mod structure remains, and this will be re-implemented after
some other foundational work is...
c60a0488db2b1bb7e8e98f9e90ac6d6defa3b393 authored about 2 years ago by Brett Mcchesney <[email protected]>
Most notably, this fixes a bug in the accept queue where syn's not
eligible for delivery block o...
This faciliates writing fallible tests via clients without forcing
panics to signal failure.
...
341f832ca5e2186189f5da1d0e32dbc28dafb5c0 authored about 2 years ago by Brett McChesney <[email protected]>The `net` module mirrors [tokio::net](https://docs.rs/tokio/latest/tokio/net/index.html).
Hos...
28f09244cbbdec14ac225ccdd2370960ca8a6dc9 authored about 2 years ago by Brett McChesney <[email protected]>
- s/send/embark to better self document what happens
- `send` bumps host version: Originally on...
Add CI badge and standardize others.
5ba26faa4808cae9e097740680d9a38ceda3e62e authored about 2 years ago by mcches <[email protected]>
While the `Future` must be `'static`, the `Fn` to generate it does
not need to be.
Specifyin...
d76ffced2bf4a8decc2c166a873058986a3bb67d authored about 2 years ago by mcches <[email protected]>
In a recent commit, I changed the API for starting a host to require a
future factory. The examp...
Cleanup the previous change, which relied on special semantics for None.
4219ed3771da46092c23a63380f87141cda64866 authored over 2 years ago by Marc Bowes <[email protected]>Taking a different approach by implementing within the engine.
8cd0c66628c4096e9db4f2adb1ea9faa18cfd30a authored over 2 years ago by Brett Mcchesney <[email protected]>
This commit introduces `turmoil::hold` and `::release` that temporarily
hold packets between a s...