{"id":13472474,"url":"https://github.com/mgattozzi/whorl","last_synced_at":"2025-03-26T17:30:34.811Z","repository":{"id":44776421,"uuid":"408982745","full_name":"mgattozzi/whorl","owner":"mgattozzi","description":" single file, std only, async Rust executor","archived":false,"fork":false,"pushed_at":"2024-10-13T19:24:38.000Z","size":80,"stargazers_count":560,"open_issues_count":0,"forks_count":26,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-02-28T07:02:33.382Z","etag":null,"topics":["async","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mgattozzi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-21T21:45:42.000Z","updated_at":"2025-02-26T20:39:51.000Z","dependencies_parsed_at":"2022-09-23T11:53:00.566Z","dependency_job_id":null,"html_url":"https://github.com/mgattozzi/whorl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgattozzi%2Fwhorl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgattozzi%2Fwhorl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgattozzi%2Fwhorl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgattozzi%2Fwhorl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgattozzi","download_url":"https://codeload.github.com/mgattozzi/whorl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245702098,"owners_count":20658540,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async","rust"],"created_at":"2024-07-31T16:00:54.950Z","updated_at":"2025-03-26T17:30:34.520Z","avatar_url":"https://github.com/mgattozzi.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# whorl - A single file, std only, async Rust executor\n\nwhorl was created to teach you how async executors work in Rust. It is not the\nfastest executor nor is it's API perfect, but it will teach you about them and\nhow they work and where to get started if you wanted to make your own. It's\nwritten in a literate programming style such that reading it from beginning to\nend tells you a story about how it works or you can read parts of it in chunks\ndepending on what you want to get out of it.\n\nYou can read it all [online here on GitHub](https://github.com/mgattozzi/whorl/blob/main/src/lib.rs)\nor you can clone the repo yourself and open up `src/lib.rs` to read through it\nin your favorite text editor or play around with it and change things. All of\nthe code is licensed under the `MIT License` so you're mostly free to do with it\nas you wish. If you want to make the next `tokio` or just make something for fun\nyou can do that.\n\nIf you just want to see it in action an example test program is included as part\nof the file. You can see it's output by just running:\n\n```bash\ncargo test -- --nocapture\n```\n\nWhich should look something like this:\n\n```bash\nwhorl on  main [!⇡] is 📦 v0.1.0 via 🦀 v1.56.0 took 10s\n❯ cargo test -- --nocapture\n   Compiling whorl v0.1.0 (/home/michael/whorl)\n    Finished test [unoptimized + debuginfo] target(s) in 0.47s\n     Running unittests (target/debug/deps/whorl-6d670ffb5bb225ca)\n\nrunning 1 test\nBegin Asynchronous Execution\nBlocking Function Polled To Completion\nSpawned Fn #00: Start 1635276666\nSpawned Fn #01: Start 1635276666\nSpawned Fn #02: Start 1635276666\nSpawned Fn #03: Start 1635276666\nSpawned Fn #04: Start 1635276666\nSpawned Fn #00: Ended 1635276669\nSpawned Fn #02: Ended 1635276669\nSpawned Fn #03: Ended 1635276669\nSpawned Fn #01: Ended 1635276670\nSpawned Fn #00: Inner 1635276671\nSpawned Fn #03: Inner 1635276674\nSpawned Fn #04: Ended 1635276675\nSpawned Fn #02: Inner 1635276675\nSpawned Fn #01: Inner 1635276678\nSpawned Fn #04: Inner 1635276678\nEnd of Asynchronous Execution\ntest library_test ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 23.00s\n\n   Doc-tests whorl\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgattozzi%2Fwhorl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgattozzi%2Fwhorl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgattozzi%2Fwhorl/lists"}