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

Make sim_elapsed function safe to call outside of simulation (#170)

If customer set custom timer for tracing subscriber that uses
sim_elapsed to log simulation tim...

cbaaaba6be45133ebfc5e0200ed2124b5498b289 authored 10 months ago by Sergii Tereshchenko <[email protected]>
Bump to 0.6.1 (#166)

ce025e2503ba45b375a1b9ed05eb6e3526656eb4 authored 11 months ago by Zak van der Merwe <[email protected]>
Add `turmoil::sim_elapsed` for retrieving total simulation virtual time (#164)

Previously, we only exposed `turmoil::elapsed` which returned the
elapsed virtual time for the ...

9277434cf6f6d80ca00696667e9ba91761822a46 authored 12 months ago by Zak van der Merwe <[email protected]>
Update Axum example to use axum 0.7 and hyper 1. (#154)

* 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]>
Add a check for port exhaustion (#157)

79556aa5bd55e7ac1763f26365abed9b180c017b authored 12 months ago by Brett McChesney <[email protected]>
Change the step tracing event to trace level

5fa7c3d3374c376ed9475da356a10bb917d19ad2 authored 12 months ago by Brett McChesney <[email protected]>
Update actions/checkout action and replace unmaintained actions-rs actions (#163)

* Update actions/checkout action to v4
* Replace unmaintained actions-rs/cargo action
* Replac...

3934812cf43be8e1f951a609853591803aad127d authored 12 months ago by Taiki Endo <[email protected]>
Add documentation on using tracing (#155)

Add some documentation on how to use the tracing level of turmoil to see
individual packet flow...

6e59ce786bc346b0aad1e1e4777e8d160ed122fd authored about 1 year ago by Ben Schofield <[email protected]>
Bump to 0.6.0 (#151)

265606d2a2d7c8e164c4f24dbce13269a9dc4c36 authored about 1 year ago by Ben Schofield <[email protected]>
More fixes for loopback networking (#153)

- Avoid trying to spawn on teardown when the rt is gone
- Deliver loopback packets in the next ...

082c8d871df9e884bc8bc33af17d0298c90b72dc authored about 1 year ago by Brett McChesney <[email protected]>
Add docs for the builder and config focused on defaults (#152)

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]>
Fix builder to use provided rng (#150)

This commit fixes the turmoil sim builder by removing the `rng`
function. Currently the `build`...

3584b224208141fcf164a57bf0f9cd2257cd4346 authored about 1 year ago by Ben Schofield <[email protected]>
Bump to 0.5.8 (#148)

19a7ef524ae1c1de47afc7a626609e2ca21d47ab authored about 1 year ago by Brett McChesney <[email protected]>
Fix subtraction overflow bug with latency (#147)

Previously if you specify a `min_message_latency` greater than the default
`max_message_latency...

d2d6a799002b1c25001b7758f15dc23f26089ad6 authored about 1 year ago by Ben Schofield <[email protected]>
Fix ephemeral port leak upon tcp stream shutdown (#145)

Do not send a Fin upon the write half drop if the stream is
already shutdown but still perform ...

68002cd09b0f7b6b55d98915adaaa3001405eeb0 authored about 1 year ago by brightcoder <[email protected]>
Bump to 0.5.7 (#143)

22f417e8f26dcdddcffb252983ee66bc9ad11c08 authored about 1 year ago by Brett McChesney <[email protected]>
Fix duplicate FIN in the drop glue (#142)

If the stream is shutdown manually it sends a FIN on the write half,
however we don't check the...

5c3c732bdca12921caf56f7740cc59bea4250afb authored about 1 year ago by Brett McChesney <[email protected]>
Add reverse DNS resolution capabilities (#141)

c4d28d63dcbe903d4eb0626e2367577fa35be88a authored about 1 year ago by Brett McChesney <[email protected]>
Extend loopback workaround (#140)

Current workaround for loopback does not allow connecting to the same
host when using the publi...

9f56e963fdcf3fbdbe6d3123545dd01a0516bd4d authored about 1 year ago by jeremymill <[email protected]>
Simplify gRPC and axum examples (#137)

7616f9a4645e73b3f4f5ec13c26ea24be168d464 authored over 1 year ago by Brett McChesney <[email protected]>
Bump to 0.5.6 (#131)

4c23b669e1499b2a1a57842dc60b6829cc887253 authored over 1 year ago by Brett McChesney <[email protected]>
Return io::Error instead of panicking (#130)

Make net types more realistic by returning `io::Error`s instead of panicking
when hosts cannot ...

6fd75d7280054f4c9982a00c4b3539786d6563ae authored over 1 year ago by Petrichor <[email protected]>
Add network manipulation capabilities to `Sim` (#129)

Exposing these outside of a client host is useful for some scenarios.

cb76a7ed119a52cff274028958b1d52f0ebba044 authored over 1 year ago by tim gretler <[email protected]>
Remove stale TODO (#128)

af1bbf393fc3461cd2555e8d470f68f3bee3ff95 authored over 1 year ago by tim gretler <[email protected]>
Tracing improvments (#124)

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]>
Bump to 0.5.5 (#122)

dcb034628df0bb6bf489d33172940d807f4f41a7 authored over 1 year ago by Brett McChesney <[email protected]>
Make socket buffer capacity configurable (#121)

Behavior stays the same for now, but the values can at least be
modified for chatty use cases.

45c681d935558596d88f413738cfe9ed440d8464 authored over 1 year ago by Brett McChesney <[email protected]>
Fix reverse dns lookups on static binds (#120)

78ca18d3c08b8f0be9ce51ac7f686c9961bf74fe authored over 1 year ago by Petrichor <[email protected]>
Bump to 0.5.4 (#119)

a2bb6421f834b94c0a7bd1e93f1947d1080c9711 authored over 1 year ago by Brett McChesney <[email protected]>
Add support for loopback (#118)

This change adds UDP and TCP support for loopback. Packets sent over loopback
do not flow throu...

563440bc66ad247f216893d97805d9c0aa90f2fd authored over 1 year ago by Mike Hershey <[email protected]>
Fix bug in binding an in use port (#117)

There was a bug where binding an already bound port would wipe the existing
before returning an...

1df956bb6f151a96a8a4fc9376a8946ba9bacb5b authored over 1 year ago by Mike Hershey <[email protected]>
Remove inconsistent address resolution (#114)

1971d604ba05ea6487ff26508c463e7b1a217f88 authored over 1 year ago by Petrichor <[email protected]>
Filter out equal `IpAddr`s for regex matching (#116)

Applying a "hold all" panics as the resolution does not take into
account matching `IpAddr`s fo...

dcc3b2efc6667696fb715c7511f7e0a3b256e4cc authored over 1 year ago by Brett McChesney <[email protected]>
Add support for Ipv6 network/binds (#113)

a71fb12e432f287c62dbe93caa9bbf3402639166 authored over 1 year ago by Petrichor <[email protected]>
Support ephemeral port assignments on bind (#110)

52ed4f76e4d5078cb2609a8f633ade9fadfb2f0e authored over 1 year ago by Konrad Stepniak <[email protected]>
Update CHANGELOG.md (#112)

Fix a type o on 0.5.3 notes

90a0d59cf139ae3da69e8c27ebc6662ff7540d14 authored almost 2 years ago by Brett McChesney <[email protected]>
Bump to 0.5.3 (#111)

4a468f11fd7e643e46d751d1a671e76f297fb1c8 authored almost 2 years ago by Brett McChesney <[email protected]>
Expose whether a host has software running (#108)

6338d3fc2da483411b7044ba093de74080e12f12 authored almost 2 years ago by Brett McChesney <[email protected]>
Minor DNS bugfixes and improvements (#109)

Change generated host IP addresses to be in 192.168.0.0/24 subnet.
Improve parsing IP addresses...

cf6e78a64da638e8b4649c6b3c480f150ef427c5 authored almost 2 years ago by Konrad <[email protected]>
Fix AsyncRead impl for TcpStream (#107)

Buffer the remainder of a received data segment to serve subsequent
reads.

0accb6a82dc0b7c7417990ca014bf06c70258cfd authored almost 2 years ago by Brett McChesney <[email protected]>
Bump to 0.5.2 (#103)

2d0fadde00de4011621607b933eb170f723111a3 authored almost 2 years ago by Brett McChesney <[email protected]>
Drop UDP packets instead of panicking (#102)

2e3d2d3d8c75d5a0bde216d7985dd38e995cf3fe authored almost 2 years ago by Cameron Bytheway <[email protected]>
Add try_* and readiness methods to UdpSocket (#101)

f2fd9bb54973c00afcd3d859d320e3d35d1f3102 authored almost 2 years ago by Cameron Bytheway <[email protected]>
Add local_addr to net::UdpSocket (#100)

32a40e7f0cbf73b8b43a4ec1097c8703df36ca43 authored almost 2 years ago by Cameron Bytheway <[email protected]>
Bump to 0.5.1 (#98)

9ec0cb771f8d92127469ac3d935a694ca810c317 authored almost 2 years ago by Brett McChesney <[email protected]>
Give docs a refresh (#97)

Moves most of the README.md content to the crate documentation.

edf735600eb89009bc1b2569394afc6b629c6a1d authored almost 2 years ago by Brett McChesney <[email protected]>
Remove runtime after host crashes (#89)

Hosts were made fallible in #67, which surfaced a bug in the
sim's event loop when hosts were c...

55d4f2ff0481c3a85ec972d069d865dda1acc125 authored almost 2 years ago by Sergii Tereshchenko <[email protected]>
Revert "Add support for loopback in TCP (#83)" (#95)

This reverts commit feca39de88fa3313b1f5c33ced3ace221c6a2b82.

319e1b0b8e5899702db24d644b36c33450f79aa4 authored almost 2 years ago by Konrad <[email protected]>
s/gRPC/axum for axum example (#94)

8256992a4c6a1c4791623f8853e93f559911639e authored almost 2 years ago by Brett McChesney <[email protected]>
Add axum example (#91)

52f8411801f03bb5a87dd88a2ff84698eaf6afb1 authored almost 2 years ago by David Pedersen <[email protected]>
Add support for loopback in TCP (#83)

Hosts may now bind to "unspecified" or explicitly to `127.0.0.1` or `::1`
for TCP. Using the la...

feca39de88fa3313b1f5c33ced3ace221c6a2b82 authored almost 2 years ago by Konrad <[email protected]>
Set message latency per link (#87)

We've got support for overriding the max, but it is also useful to
set a single latency duratio...

e5c68344bccf10d81777bfea0da3d011651420a6 authored almost 2 years ago by Brett McChesney <[email protected]>
example(grpc): Remove protoc requirement (#86)

7c7d35bf60cbf3121d15242a766563d583ff7146 authored almost 2 years ago by Lucio Franco <[email protected]>
Handle task cancellation due to crashing a host (#85)

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]>
Add `gRPC` example (#81)

b212467677c72e1c697ebfb845812579a32aff00 authored almost 2 years ago by Lucio Franco <[email protected]>
Bump to 0.5.0 (#80)

Dependencies updated to latest versions.

d12a7a7e3007f4b12e3cdac55bc1e31855f6cfb8 authored almost 2 years ago by Byron Batteson <[email protected]>
Add option to query hosts via regex (#77)

This allows various host interactions via regex matches to reduce the
effort to induce more com...

77bd91baf4e34aafc350db300d844f0121206dd9 authored almost 2 years ago by Byron Batteson <[email protected]>
Add network topology introspection (#78)

The sim now supports iterating each host pair's network link, as well
as each message that is c...

40a336ec90d877fbfad37aa10948cbe5d1b7457a authored almost 2 years ago by Brett McChesney <[email protected]>
Expose a mechanism to manually drive the Sim (#76)

Break out the inside of the `run()` loop into a public method
to allow callers to create their ...

b6ecd5c993efbbb86de4644b2789960b2b532f21 authored almost 2 years ago by Brett McChesney <[email protected]>
Bump to 0.4.0

All dependencies are updated to their latest versions.

cc1ad8b8c827a135f4b2218e4917d94ffa333656 authored almost 2 years ago by Brett McChesney <[email protected]>
Make tokio unstable opt in (#73)

* 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]>
Add host error support (#67)

Host software supports returning a `Result`, which allows all failures
to propagate to `Sim::ru...

b412c06242eae152e08552e0aa365b0d78cf5277 authored almost 2 years ago by Byron Batteson <[email protected]>
Add more type conversions for ToSocketAddrs (#71)

* Add more type conversions for ToSocketAddrs

* Add dns parsing and test

ecf271c1de6e6940b17041b352b9ffec7669cbda authored almost 2 years ago by Lucio Franco <[email protected]>
fix clippy warnings (#70)

0b1b2100938b692429c046fefcbb209890145967 authored almost 2 years ago by ad hoc <[email protected]>
add CI missing strategy (#72)

a43f441d7684f4db4aae2cd23932b7f6d20eb88d authored almost 2 years ago by ad hoc <[email protected]>
fix ci (#68)

Run actions on all PR and fix indentation.

bf9b55a7d4a5f4492bc141f6ad972538a1f02ec8 authored almost 2 years ago by ad hoc <[email protected]>
Add clippy to CI (#58)

8b7170f0f206d5036c7fedcacbdd96e159975f6b authored almost 2 years ago by ad hoc <[email protected]>
Rename ToSocketAddr to ToSocketAddrs (#60)

Align with `tokio::net` for consistency.

2c0423df65026b6fba311d0e7426c48b81c441cc authored almost 2 years ago by ad hoc <[email protected]>
Bump to 0.3.3

16d30ee03d73b5c0aec30c3d8af24814ea2bfaa3 authored about 2 years ago by Brett Mcchesney <[email protected]>
Fix host elapsed time across software restarts (#65)

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]>
Add a link to Discord room (#66)

0c3aec9a6d0dc6d9cc55a541c45174e53451af00 authored about 2 years ago by Dominic Lupo <[email protected]>
Document `tokio_unstable` requirements in README.md (#57)

492b1f602f0e8e787644b7ac55ecec59d31cb712 authored about 2 years ago by ad hoc <[email protected]>
Bump to 0.3.2

2589bc04ae955d5c4c67ad2518f95a18c413b908 authored about 2 years ago by Brett Mcchesney <[email protected]>
Expose the sim's epoch and elapsed duration (#54)

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]>
Bump to 0.3.1

193cc724421c44973e79ecd8f3fd11462b21e81e authored about 2 years ago by Brett Mcchesney <[email protected]>
Use tracing levels for different network events (#53)

Everything was at `info`, which got pretty noisy. We now use
`tracing` directly and leverage le...

5b520a3467de584125b3c13b9c34294ebf64310e authored about 2 years ago by Brett McChesney <[email protected]>
Fix host crash behavior (#52)

I observed a bug where moving a `TcpListener` into a spawned task
was not dropped after crash r...

1139b42bf0ec06258e942635cd6459f734c548ce authored about 2 years ago by Brett McChesney <[email protected]>
Add local/peer addrs to tcp types

43e0edb0a3cfac82a6f8ac7905cef7f0c2e03dd7 authored about 2 years ago by Brett Mcchesney <[email protected]>
Expose host elapsed time as a free fn

8ac434efd59b9bb781e89c5e1b90b3891d090aa2 authored about 2 years ago by Brett Mcchesney <[email protected]>
Bump to 0.3.0

db54b3a50e79b052007dfbb82cb2f2288cf8e012 authored about 2 years ago by Brett Mcchesney <[email protected]>
Split and reunite `TcpStream`s (#50)

Refactor the stream to enable splitting into distinct read/write
halfs, with the ability to reu...

0f4d20a71f452b0760edee913a81b098e371d6e3 authored about 2 years ago by Brett McChesney <[email protected]>
TcpListener implements `Send` (#51)

Interior mutability was initially chosen to align with the `tokio::net`
API. This actually dive...

5939800c75cd3494e8b9326b08d517c1e5595289 authored about 2 years ago by Brett McChesney <[email protected]>
Fix networking example link in README

68bcfb13ce7e1b654347110c274204681730db14 authored about 2 years ago by Brett McChesney <[email protected]>
Simulated TCP streams (#48)

`TcpListener` and `TcpStream` are implemented with the minimal APIs mirrored
from `tokio::net` ...

ed054fedd32ebf2159373d634c610864d969b5b4 authored about 2 years ago by Brett McChesney <[email protected]>
Add simple simulation tracing (#47)

4547f0988ea6c893c27984c0ee69c957c91a884b authored about 2 years ago by Brett McChesney <[email protected]>
Simulated UDP sockets (#46)

This is a large refactor that includes support for multiple
`SocketAddrs` on each host, IP base...

b32637a54f9d13ecf12d192c669e85f0b1a86736 authored about 2 years ago by Brett McChesney <[email protected]>
Remove dot and host version

ee0cfd66bbcc7e01331a61c84f605ddf38b36436 authored about 2 years ago by Brett Mcchesney <[email protected]>
Revert turmoil logging

The original implementation adds some friction as you need a mutable
ref of the `Log` to write.
...

272c596527a73c4501c2149a42571eaf118ca773 authored about 2 years ago by Brett Mcchesney <[email protected]>
Revert TCP implementation

The mod structure remains, and this will be re-implemented after
some other foundational work is...

eafcd4977b80b663ef8c8a5376cba344016b1608 authored about 2 years ago by Brett Mcchesney <[email protected]>
tighten up the test

c60a0488db2b1bb7e8e98f9e90ac6d6defa3b393 authored about 2 years ago by Brett Mcchesney <[email protected]>
Follow up on late comments to #35

Most notably, this fixes a bug in the accept queue where syn's not
eligible for delivery block o...

e743ec3971377a81cfc0b7a549a9abf4ee1d9b6b authored about 2 years ago by Brett Mcchesney <[email protected]>
Add a turmoil `Result` type (#37)

This faciliates writing fallible tests via clients without forcing
panics to signal failure.

...

341f832ca5e2186189f5da1d0e32dbc28dafb5c0 authored about 2 years ago by Brett McChesney <[email protected]>
Add support for simulated TCP connections (#35)

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]>
Some cleanup for existing networking (#34)

- s/send/embark to better self document what happens
- `send` bumps host version: Originally on...

3a98c728192cca7858dc5a4bb1e1bbe362971fd7 authored about 2 years ago by mcches <[email protected]>
Update README.md

Add CI badge and standardize others.

5ba26faa4808cae9e097740680d9a38ceda3e62e authored about 2 years ago by mcches <[email protected]>
Use an explicit lifetime for host's software factory (#32)

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]>
Fix error in README.md

In a recent commit, I changed the API for starting a host to require a
future factory. The examp...

ce603a1bd6b6d5c988edd4ccf9966d3971cb0880 authored about 2 years ago by Marc Bowes <[email protected]>
Add an enum for delivery instructions

Cleanup the previous change, which relied on special semantics for None.

4219ed3771da46092c23a63380f87141cda64866 authored over 2 years ago by Marc Bowes <[email protected]>
Revert connections

Taking a different approach by implementing within the engine.

8cd0c66628c4096e9db4f2adb1ea9faa18cfd30a authored over 2 years ago by Brett Mcchesney <[email protected]>
Implement hold and release, impls #11

This commit introduces `turmoil::hold` and `::release` that temporarily
hold packets between a s...

d88f4d93e712866badae36a8cc9f427c03a174c7 authored over 2 years ago by Marc Bowes <[email protected]>