summaryrefslogtreecommitdiffstats
path: root/.github
AgeCommit message (Collapse)Author
2020-12-09chore: fix stress test (#3233)Blas Rodriguez Irizar
2020-12-07Add stress test (#3222)Blas Rodriguez Irizar
Created a simple echo TCP server that on two different runtimes that is called from a GitHub action using Valgrind to ensure that there are no memory leaks. Fixes: #3022
2020-11-23time: use intrusive lists for timer tracking (#3080)bdonlan
More-or-less a half-rewrite of the current time driver, supporting the use of intrusive futures for timer registration. Fixes: #3028, #3069
2020-11-13chore: automate running benchmarks (#3140)Carl Lerche
Uses Github actions to run benchmarks.
2020-11-11ci: minimal version check (#3131)Alice Ryhl
2020-11-10Minor cleanup of parking_lot feature, now in full (#3119)David Kellum
## Motivation Some small cleanup items are apparent after merge of #2951 ## Solution Delete a now incorrect comment in Cargo.toml, and remove a now redundant CI test step.
2020-10-21net: fix use-after-free in slab compaction (#3019)Carl Lerche
An off-by-one bug results in freeing the incorrect page. This also adds an `asan` CI job. Fixes: 3014
2020-10-15ci: run clippy on MSRV (#2962)Taiki Endo
2020-10-12rt: simplify rt-* features (#2949)Taiki Endo
tokio: merge rt-core and rt-util as rt rename rt-threaded to rt-multi-thread tokio-util: rename rt-core to rt Closes #2942
2020-09-24chore: remove internal io-driver cargo feature (#2881)Ivan Petkov
2020-09-24chore: remove internal io-readiness cargo feature (#2878)Ivan Petkov
2020-09-23io: use intrusive wait list for I/O driver (#2828)Sean McArthur
This refactors I/O registration in a few ways: - Cleans up the cached readiness in `PollEvented`. This cache used to be helpful when readiness was a linked list of `*mut Node`s in `Registration`. Previous refactors have turned `Registration` into just an `AtomicUsize` holding the current readiness, so the cache is just extra work and complexity. Gone. - Polling the `Registration` for readiness now gives a `ReadyEvent`, which includes the driver tick. This event must be passed back into `clear_readiness`, so that the readiness is only cleared from `Registration` if the tick hasn't changed. Previously, it was possible to clear the readiness even though another thread had *just* polled the driver and found the socket ready again. - Registration now also contains an `async fn readiness`, which stores wakers in an instrusive linked list. This allows an unbounded number of tasks to register for readiness (previously, only 1 per direction (read and write)). By using the intrusive linked list, there is no concern of leaking the storage of the wakers, since they are stored inside the `async fn` and released when the future is dropped. - Registration retains a `poll_readiness(Direction)` method, to support `AsyncRead` and `AsyncWrite`. They aren't able to use `async fn`s, and so there are 2 reserved slots for those methods. - IO types where it makes sense to have multiple tasks waiting on them now take advantage of this new `async fn readiness`, such as `UdpSocket` and `UnixDatagram`. Additionally, this makes the `io-driver` "feature" internal-only (no longer documented, not part of public API), and adds a second internal-only feature, `io-readiness`, to group together linked list part of registration that is only used by some of the IO types. After a bit of discussion, changing stream-based transports (like `TcpStream`) to have `async fn read(&self)` is punted, since that is likely too easy of a footgun to activate. Refs: #2779, #2728
2020-09-23ci: deny warnings on '--cfg tokio_unstable' tests (#2859)Taiki Endo
2020-09-21ci: update miri flags (#2851)Alice Ryhl
* ci: update miri flags * Update 2020-09-20 to 2020-09-21 Co-authored-by: Taiki Endo <te316e89@gmail.com> Co-authored-by: Taiki Endo <te316e89@gmail.com>
2020-08-10chore: bump MSRV to 1.45 (#2759)Carl Lerche
As 0.3 is a breaking change, the minimum supported Rust version can be changed.
2020-07-28ci: add information to the rustfmt check, hinting at the necessary fix (#2673)Jeb Rosen
2020-07-24chore: add ci job that depends on all tests (#2690)Carl Lerche
This makes it a bit easier to block a PR from landing without CI passing.
2020-07-24chore: complete CI migration to Github Actions (#2680)Carl Lerche
2020-07-21chore: add audit check (#2595)Zephyr Shannon
2020-07-05ci: use latest stable compiler on macOS ci (#2643)Taiki Endo
2020-06-11chore: fix macOS ci on github actions (#2602)Taiki Endo
2020-05-25ci: start migrating CI to Github Actions (#2531)Geoff Shannon
This migrates test_tokio, test_sub_crates, and test_integration to GitHub Actions, as the first step in the migration from Azure Pipelines.
2020-05-21github: update issue templates (#2552)Alice Ryhl
2018-08-24draft initial CONTRIBUTING guide (#567)Carl Lerche
This guide was adopted from the node.js project.