mastodontech.de ist einer von vielen unabhängigen Mastodon-Servern, mit dem du dich im Fediverse beteiligen kannst.
Offen für alle (über 16) und bereitgestellt von Markus'Blog

Serverstatistik:

1,4 Tsd.
aktive Profile

#asyncrust

0 Beiträge0 Beteiligte0 Beiträge heute
Jan :rust: :ferris:<p><span class="h-card" translate="no"><a href="https://namtao.com/@noboilerplate" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>noboilerplate</span></a></span> THIS!</p><p>I think a lot of people inadvertently assume async <a href="https://floss.social/tags/RustLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustLang</span></a> is so different from sync Rust, because the way it is - when in fact it's because of the (most popular) async runtime they're using.</p><p>We should look way more into alternative <a href="https://floss.social/tags/async" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>async</span></a> runtimes to <a href="https://floss.social/tags/Tokio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Tokio</span></a>, e.g. smol:</p><p><a href="https://floss.social/@janriemer/111669258656959538" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">floss.social/@janriemer/111669</span><span class="invisible">258656959538</span></a></p><p><a href="https://floss.social/tags/Smol" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Smol</span></a> allows you to use non-'static Futures by using a local executor:</p><p><a href="https://floss.social/@janriemer/111669668856899636" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">floss.social/@janriemer/111669</span><span class="invisible">668856899636</span></a></p><p>It looks a lot more like "normal" <a href="https://floss.social/tags/Rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rust</span></a>.</p><p><a href="https://floss.social/tags/RustAsync" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustAsync</span></a> <a href="https://floss.social/tags/AsyncRust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsyncRust</span></a> <a href="https://floss.social/tags/Concurrency" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Concurrency</span></a></p>
Jonas Kruckenberg :tauri:<p>k23 (the Wasm OS) just got a shiny new async executor! But we need your help:<br>The executor is likely full of concurrency bugs, deadlocks and worse. </p><p>So if you want to help out the project an absolute ton head over here and help us get kasync tested:<br><a href="https://github.com/JonasKruckenberg/k23/issues/464" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/JonasKruckenberg/k2</span><span class="invisible">3/issues/464</span></a></p><p><a href="https://m.webtoo.ls/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://m.webtoo.ls/tags/asyncrust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncrust</span></a> <a href="https://m.webtoo.ls/tags/wasm" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>wasm</span></a> <a href="https://m.webtoo.ls/tags/osdev" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>osdev</span></a></p>
Hacker News<p>A Visual Journey Through Async Rust</p><p><a href="https://github.com/alexpusch/rust-magic-patterns/blob/master/visual-journey-through-async-rust/Readme.md" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/alexpusch/rust-magi</span><span class="invisible">c-patterns/blob/master/visual-journey-through-async-rust/Readme.md</span></a></p><p><a href="https://mastodon.social/tags/HackerNews" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HackerNews</span></a> <a href="https://mastodon.social/tags/AsyncRust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsyncRust</span></a> <a href="https://mastodon.social/tags/VisualJourney" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>VisualJourney</span></a> <a href="https://mastodon.social/tags/RustProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustProgramming</span></a> <a href="https://mastodon.social/tags/TechEducation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TechEducation</span></a></p>
Hayden Stainsby<p>Is there a <a href="https://hachyderm.io/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> crate that provides an "async timer"?</p><p>Basically a future wrapper that records the total busy and idle times of the future it wraps and then returns those times together with the ready result of the wrapped future.</p><p><a href="https://hachyderm.io/tags/rustlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustlang</span></a> <a href="https://hachyderm.io/tags/asyncRust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncRust</span></a></p>
Jan :rust: :ferris:<p>Async <a href="https://floss.social/tags/Rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rust</span></a> is not safe with io_uring | by Tzu Gwo</p><p><a href="https://tonbo.io/blog/async-rust-is-not-safe-with-io-uring" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">tonbo.io/blog/async-rust-is-no</span><span class="invisible">t-safe-with-io-uring</span></a></p><p><a href="https://floss.social/tags/RustLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustLang</span></a> <a href="https://floss.social/tags/AsyncRust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsyncRust</span></a> <a href="https://floss.social/tags/Async" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Async</span></a> <a href="https://floss.social/tags/IOuring" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>IOuring</span></a> <a href="https://floss.social/tags/IOSafety" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>IOSafety</span></a></p>
Hayden Stainsby<p>I wrote up a post on the size of Futures in <a href="https://hachyderm.io/tags/rustlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustlang</span></a>, why they can be big, why we care and how you can check the size.</p><p>This leads into the new instrumentation in Tokio 1.41.0 and new lints in Tokio Console 0.1.13.</p><p>And of course there's a link to the Clippy lint that can do much of this statically!</p><p><a href="https://hegdenu.net/posts/how-big-is-your-future/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">hegdenu.net/posts/how-big-is-y</span><span class="invisible">our-future/</span></a></p><p><a href="https://hachyderm.io/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://hachyderm.io/tags/asyncRust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncRust</span></a> <a href="https://hachyderm.io/tags/tokio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tokio</span></a> <a href="https://hachyderm.io/tags/tokioConsole" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tokioConsole</span></a></p>
Hayden Stainsby<p>There's some new instrumentation in tokio 1.41.0 (released 2 days ago), which includes the size of the future driving every task.</p><p>In Tokio Console 0.1.13 (released half and hour ago), not only will you see this value, but there are 2 new lints which will warn you if your futures are perhaps a little too large.</p><p><a href="https://docs.rs/tokio-console/0.1.13/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">docs.rs/tokio-console/0.1.13/</span><span class="invisible"></span></a></p><p><a href="https://hachyderm.io/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://hachyderm.io/tags/rustLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustLang</span></a> <a href="https://hachyderm.io/tags/tokioConsole" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tokioConsole</span></a> <a href="https://hachyderm.io/tags/tokio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tokio</span></a> <a href="https://hachyderm.io/tags/asyncRust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncRust</span></a></p>
Jan :rust: :ferris:<p>Beul - it executes futures | by Bert Peters</p><p><a href="https://lib.rs/crates/beul" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">lib.rs/crates/beul</span><span class="invisible"></span></a></p><p>"Beul is a minimalistic futures executor. No dependencies, no unsafe <a href="https://floss.social/tags/Rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rust</span></a>. It simply executes futures."</p><p>It can't get any simpler than that. ¯\_(ツ)_/¯</p><p><a href="https://floss.social/tags/RustLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustLang</span></a> <a href="https://floss.social/tags/RustAsync" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustAsync</span></a> <a href="https://floss.social/tags/Async" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Async</span></a> <a href="https://floss.social/tags/AsyncRust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsyncRust</span></a></p>
Hayden Stainsby<p>I wrote a post that goes pretty in depth into the information contained in the waker events of the tracing instrumentation in <a href="https://hachyderm.io/tags/tokio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tokio</span></a>.</p><p>If that’s your sort of thing, check it out:<br><a href="https://hegdenu.net/posts/tokio-waker-instrumentation/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">hegdenu.net/posts/tokio-waker-</span><span class="invisible">instrumentation/</span></a></p><p><a href="https://hachyderm.io/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://hachyderm.io/tags/rustlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustlang</span></a> <a href="https://hachyderm.io/tags/asyncRust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncRust</span></a></p>
Hayden Stainsby<p>We just released a new version of Tokio Console. Tokio Console is a debugger for async Rust (running with the Tokio runtime).</p><p>This includes new versions of the following crates:<br>* tokio-console v0.1.11 (<a href="https://github.com/tokio-rs/console/releases/tag/tokio-console-v0.1.11" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/tokio-rs/console/re</span><span class="invisible">leases/tag/tokio-console-v0.1.11</span></a>)<br>* console-subscriber v0.3.0 (<a href="https://github.com/tokio-rs/console/releases/tag/console-subscriber-v0.3.0" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/tokio-rs/console/re</span><span class="invisible">leases/tag/console-subscriber-v0.3.0</span></a>)<br>* console-api v0.7.0</p><p>Upgrade tokio-console and make sure you use the latest console-subscriber to get the latest features!</p><p>A thread of some of the changes.</p><p><a href="https://hachyderm.io/tags/tokioConsole" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tokioConsole</span></a> <a href="https://hachyderm.io/tags/tokio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tokio</span></a> <a href="https://hachyderm.io/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://hachyderm.io/tags/rustlang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rustlang</span></a> <a href="https://hachyderm.io/tags/tui" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tui</span></a> <a href="https://hachyderm.io/tags/asyncRust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncRust</span></a></p>
Jan :rust: :ferris:<p>Asynchronous streams in <a href="https://floss.social/tags/Rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rust</span></a> (part 1) - Futures, buffering and mysterious compilation error messages - by Guillaume Endignoux (<span class="h-card" translate="no"><a href="https://infosec.exchange/@gendx" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>gendx</span></a></span>) (April 2021)</p><p><a href="https://gendignoux.com/blog/2021/04/01/rust-async-streams-futures-part1.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">gendignoux.com/blog/2021/04/01</span><span class="invisible">/rust-async-streams-futures-part1.html</span></a></p><p>Asynchronous streams in Rust (part 2) - Cancelling expired requests</p><p><a href="https://gendignoux.com/blog/2021/04/08/rust-async-streams-futures-part2.html" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">gendignoux.com/blog/2021/04/08</span><span class="invisible">/rust-async-streams-futures-part2.html</span></a></p><p><a href="https://floss.social/tags/Rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rust</span></a> <a href="https://floss.social/tags/RustLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustLang</span></a> <a href="https://floss.social/tags/AsyncRust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsyncRust</span></a> <a href="https://floss.social/tags/RustAsync" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustAsync</span></a> <a href="https://floss.social/tags/Async" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Async</span></a></p>
Jan :rust: :ferris:<p>Yay! <span class="h-card" translate="no"><a href="https://hachyderm.io/@notgull" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>notgull</span></a></span> is working on `smol` integration with <a href="https://floss.social/tags/axum" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>axum</span></a>! :awesome: </p><p><a href="https://github.com/notgull/smol-axum" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/notgull/smol-axum</span><span class="invisible"></span></a></p><p>The smol <a href="https://floss.social/tags/async" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>async</span></a> runtime:<br><a href="https://github.com/smol-rs/smol" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/smol-rs/smol</span><span class="invisible"></span></a></p><p><a href="https://floss.social/tags/Tokio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Tokio</span></a> is not the end-all-be-all runtime. You should keep looking at alternatives and what unique features they can offer. ✨ </p><p>Don't be blinded by "if it is the most popular, it must be the best" fallacy.</p><p><a href="https://floss.social/tags/Rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rust</span></a> <a href="https://floss.social/tags/RustLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustLang</span></a> <a href="https://floss.social/tags/RustAsync" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustAsync</span></a> <a href="https://floss.social/tags/AsyncRust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsyncRust</span></a></p>
Jan :rust: :ferris:<p>This thing will (probably) blow up 🚀 </p><p>mfio - Framework for <a href="https://floss.social/tags/Async" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Async</span></a> I/O Systems:</p><p><a href="https://github.com/memflow/mfio" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/memflow/mfio</span><span class="invisible"></span></a></p><p>"mfio is a one-stop shop for custom async I/O systems. It allows you to go wild, beyond typical OS APIs.[...]"</p><p>- Async<br>- Automatic batching (vectoring)<br>- Fragmentation<br>- Partial success<br>- Lack of color (full sync support)<br>- I/O directly to the stack<br>- Using without standard library</p><p><a href="https://floss.social/tags/Rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rust</span></a> <a href="https://floss.social/tags/RustLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustLang</span></a> <a href="https://floss.social/tags/RustAsync" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustAsync</span></a> <a href="https://floss.social/tags/AsyncRust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsyncRust</span></a> <a href="https://floss.social/tags/Memflow" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Memflow</span></a> <a href="https://floss.social/tags/IO" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>IO</span></a></p>
Jan :rust: :ferris:<p><span class="h-card" translate="no"><a href="https://mastodon.social/@matze" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>matze</span></a></span> Yes, that's true.</p><p>However, writing the desugared version in the trait is still compatible with using async fn in the _trait impl_, so the "burden" is more on lib maintainers.</p><p>Also this problem only applies when the Self type is generic.</p><p>And `Send` is only required, if one decides to use a multithreaded rt.</p><p>I highly recommend the following article by <span class="h-card" translate="no"><a href="https://hachyderm.io/@notgull" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>notgull</span></a></span> about smol:</p><p>Why you might actually want async in your project</p><p><a href="https://notgull.net/why-you-want-async/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">notgull.net/why-you-want-async</span><span class="invisible">/</span></a></p><p><a href="https://floss.social/tags/Rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rust</span></a> <a href="https://floss.social/tags/RustLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustLang</span></a> <a href="https://floss.social/tags/RustAsync" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustAsync</span></a> <a href="https://floss.social/tags/AsyncRust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsyncRust</span></a></p>
Jan :rust: :ferris:<p>*makes some happy screaming noise* :awesome: :ferris: </p><p><a href="https://floss.social/tags/Rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Rust</span></a> will end this year with a long awaited feature that will define it's future:</p><p>We will get "async fn and return-position impl Trait in trait" (<a href="https://floss.social/tags/AFIT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AFIT</span></a> &amp; <a href="https://floss.social/tags/RPITIT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RPITIT</span></a>).</p><p>It will be stabilized in the next <a href="https://floss.social/tags/RustLang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustLang</span></a> version 1.75, which will be released on 28 December, 2023.</p><p><a href="https://releases.rs/docs/1.75.0/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">releases.rs/docs/1.75.0/</span><span class="invisible"></span></a></p><p>PR:<br><a href="https://github.com/rust-lang/rust/pull/115822" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/rust-lang/rust/pull</span><span class="invisible">/115822</span></a></p><p>Thank you Rust <a href="https://floss.social/tags/community" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>community</span></a> for all of your hard work! ❤️ </p><p><a href="https://floss.social/tags/RustAsync" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RustAsync</span></a> <a href="https://floss.social/tags/AsyncRust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsyncRust</span></a></p>