docs: mark links/trap_exit (#3) done; refresh supervisor + README
- task.md: mark roadmap #3 done (record the resolved dedicated-inbox decision + test list), add the feature commit to the resume block, note the now-resolved trap_exit channel question, and list spawn_link under #5. - supervisor.rs: the module comment predated cancellation; rewrite it to say sibling/link/shutdown stops are cooperative (request_stop), not that one_for_all / rest_for_one / links are impossible. - README: add monitor + link rows, refresh the supervisor row and src layout, and drop restart-intensity caps from "what's not here" (shipped in #2).
This commit is contained in:
@@ -25,7 +25,9 @@ convenience wrapper around `runtime::init(Config::exact(1)).run(f)`.
|
||||
| `mutex` | `Mutex<T>` with mandatory timeout; FIFO waiters; parks the green thread |
|
||||
| `timer` | Min-heap of `(deadline, reason)`; `Sleep` and `WaitTimeout` reasons |
|
||||
| `io` | `block_on_io` for blocking work; `wait_readable`/`wait_writable` + `read`/`write` via epoll |
|
||||
| `supervisor` | `Signal::Exit` / `Signal::Panic` delivered to a parent actor's mailbox |
|
||||
| `supervisor` | `Signal::Exit`/`Panic`/`Stopped` funnelled to a parent; `OneForOne`/`OneForAll`/`RestForOne` strategies + restart-intensity cap |
|
||||
| `monitor` | `monitor(pid)` → one-shot `Receiver<Down>`; unidirectional death notice |
|
||||
| `link` | bidirectional `link`/`unlink`; abnormal death propagates (cooperative stop, or an `ExitSignal` message under `trap_exit`) |
|
||||
|
||||
## Quick taste
|
||||
|
||||
@@ -52,7 +54,8 @@ run(|| {
|
||||
```
|
||||
src/
|
||||
stack.rs context.rs preempt.rs pid.rs actor.rs
|
||||
scheduler.rs channel.rs mutex.rs timer.rs io.rs supervisor.rs
|
||||
scheduler.rs channel.rs mutex.rs timer.rs io.rs
|
||||
supervisor.rs monitor.rs link.rs runtime.rs
|
||||
lib.rs
|
||||
tests/
|
||||
per-module integration tests
|
||||
@@ -76,7 +79,7 @@ cargo bench # primes benchmark vs tokio
|
||||
## What's not here
|
||||
|
||||
See the **Defer** section of `Architecture.md`.
|
||||
restart-intensity caps, `join!` for handle groups, stack growth via remap,
|
||||
`join!` for handle groups, stack growth via remap,
|
||||
hierarchical timer wheel, fd-wait timeouts, `Signal::Timeout`. Each is
|
||||
mechanism we know how to add; none belongs in this iteration.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user