提交 f8931858 authored 作者: Serhij S's avatar Serhij S

README.md

上级 7f6cbe2f
......@@ -103,29 +103,6 @@ affinity (Linux only).
[`supervisor::Supervisor`] provides a lightweight task supervisor to manage
launched threads.
## Locking safety
Note: the asynchronous components use `parking_lot_rt` locking only.
By default, the crate (both the server and the client modules) uses
[parking_lot](https://crates.io/crates/parking_lot) for locking. For real-time
applications, the following features are available:
* `locking-rt` - use [parking_lot_rt](https://crates.io/crates/parking_lot_rt)
crate which is a spin-free fork of parking_lot.
* `locking-rt-safe` - use [RTSC](https://crates.io/crates/rtsc)
priority-inheritance locking, which is not affected by priority inversion
(Linux only).
Note: to switch locking policy, disable the crate default features.
The locking policy can be also selected in CLI when creating a new project:
```shell
robo new --locking rt-safe # the default for CLI-created projects is rt-safe
```
## Controller
[`controller::Controller`] is the primary component of mixing up all the
......@@ -158,6 +135,29 @@ Currently supported:
example](https://github.com/roboplc/roboplc/blob/main/examples/eapi.rs)),
requires `eapi` crate feature.
## Locking safety
Note: the asynchronous components use `parking_lot_rt` locking only.
By default, the crate (both the server and the client modules) uses
[parking_lot](https://crates.io/crates/parking_lot) for locking. For real-time
applications, the following features are available:
* `locking-rt` - use [parking_lot_rt](https://crates.io/crates/parking_lot_rt)
crate which is a spin-free fork of parking_lot.
* `locking-rt-safe` - use [RTSC](https://crates.io/crates/rtsc)
priority-inheritance locking, which is not affected by priority inversion
(Linux only).
Note: to switch locking policy, disable the crate default features.
The locking policy can be also selected in CLI when creating a new project:
```shell
robo new --locking rt-safe # the default for CLI-created projects is rt-safe
```
## Using on other platforms
The components [`thread_rt`], [`supervisor`] and [`controller`] can work on
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论