package riot
An actor-model multi-core scheduler for OCaml 5
Install
Dune Dependency
Authors
Maintainers
Sources
riot-0.0.5.tbz
sha256=01b7b82ccc656b12b7315960d9df17eb4682b8f1af68e9fee33171fee1f9cf88
sha512=d8831d8a75fe43a7e8d16d2c0bb7d27f6d975133e17c5dd89ef7e575039c59d27c1ab74fbadcca81ddfbc0c74d1e46c35baba35ef825b36ac6c4e49d7a41d0c2
doc/CHANGES.html
Changes
0.0.5
- Add
register name pid
- Add
unregister name
- Add
send_by_name ~name msg
- Fix timer wheel making it remove timers correctly
- Add better test for
Timer.send_after
0.0.4
- Internally immediately suspend (bypassing reduction counts) when on a receive expression
- Fix reads from closed Unix sockets
- Fix writes to closed Unix sockets
- Ignore SIGPIPEs on setup
- Fix always mark connected sockets as nonblocking
- Fix GC i/o process table
- Surface pretty-printing of socket values
0.0.3
- Big namespace refactor.
Riot.Runtime
includes the lower-level runtime blocks, and everything else that is more user-friendly lives at theRiot.*
level. - Introduce reduction counting, so processes will run up to N iterations unless they finish, or they execute an unhandled effect.
- Introduce the
Application
interface for managing the lifecycle of the system - Fix
Riot.Logger
to fit theApplication
interface - Add a new
Riot.Telemetry
backend for doing async telemetry
0.0.2
- New
Riot.random ()
API to expose current scheduler's random state - Better logging in the
Net
module - Fix a bug where
Net.Socket
operations where hanging on I/O polling when they could have been eager
0.0.1
First release, including:
- First working version of the scheduler
- Support for process spawning, message passing, monitoring, and linking
- Rudimentary supervisors
- Basic (and incomplete) GenServer
- Scheduling-aware I/O primitives
- Scheduling-aware Logger
- Timers