Comments (3)
Thank you for the feedback! Perhaps it'd be useful to define somewhere what words mean, i.e. what is a 'task' and 'future', or what does 'schedule' and 'wake' mean.
Is this a useful comment to you, did you find it (perhaps it was not easy to find)?
https://github.com/stjepang/smol/blob/5acde03d5a971054603dcbbc616963270e56cdd2/src/task.rs#L14-L22
from smol.
Ah, I don't believe I looked that closely at that comment. My tunnel vision here was to look really hard at the reactor
and executor
modules, but not look as closely at the task
module.
That comment is pretty helpful. I think that I didn't really understand what Runnable
meant on first pass, I thought it just generically meant Task
and didn't dig too much because I didn't expect it to be as important as the executor for my understanding.
Maybe additionally having something like "When a task is woken up, its Task reference is recreated and passed to the schedule function. In most executors, scheduling simply pushes the Task reference into a queue of runnable tasks."
from the async_task
docs would make it even clearer.
Perhaps in this case, it's not even about better definitions, but about providing breadcrumbs to the connections. While your comment definitely helps with my deeper understanding of Runnable
, it may not have jumped out to me when trying to put the pieces together, unless I saw awake task ... schedule... executor... queue
.
And perhaps it's also just a case of me having an incorrect model which made it hard for me to see what's in front of me. :)
So, it may be good to wait and see if others have the same issue I do before deciding whether to do anything.
from smol.
I see, thank you for the elaborate explanation of your thought process :)
I can try to improve the comments later, but if you'd like to help and add them yourself, go ahead! I believe you could even just click "edit" on GitHub, add more comments, and submit a PR.
from smol.
Related Issues (20)
- async-net add TcpSocket? HOT 1
- It's not clear how to use Executor instead of smol::spawn HOT 1
- smol violates API guidelines' "C-STABLE" HOT 2
- TLS example should use `async_tls` instead of `async-native-tls`
- RUSTSEC-2021-0060: `aes-soft` has been merged into the `aes` crate HOT 1
- RUSTSEC-2021-0059: `aesni` has been merged into the `aes` crate HOT 1
- RUSTSEC-2021-0064: `cpuid-bool` has been renamed to `cpufeatures` HOT 1
- RUSTSEC-2020-0056: stdweb is unmaintained HOT 1
- RUSTSEC-2018-0017: `tempdir` crate has been deprecated; use `tempfile` instead HOT 1
- smol::spawn: BrokenPipe io::copy failed
- Panic: "There is no reactor running, must be called from the context of a Tokio 1.x runtime" HOT 3
- Give smol-rs a logo/mascot HOT 3
- Tracking issue for potentially useful features in future Rust versions HOT 11
- Tracking issue for smol v2.0.0 HOT 9
- Failing to check for closed socket causes future to spin, hogging executor thread HOT 2
- Should we expose event-listener in this crate? HOT 3
- concurrent futures combinators with smol HOT 1
- Figure out a way to race multiple futures in smol HOT 5
- Destructors aren't run for detached tasks HOT 5
- File write just before exit seems racey HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from smol.