anki/pylib/rsbridge
Damien Elmes 5df684fa6b rework backend codegen to support multiple services; split out sched
Rust requires all methods of impl Trait to be in a single file, which
means we had a giant backend/mod.rs covering all exposed methods. By
using separate service definitions for the separate areas, and updating
the code generation, we can split it into more manageable chunks -
this commit starts with the scheduling code.

In the long run, we'll probably want to split up the protobuf file into
multiple files as well.

Also dropped want_release_gil() from rsbridge, and the associated method
enum. While it allows us to skip the thread save/restore and mutex unlock/
lock, it looks to only be buying about 2.5% extra performance in the
best case (tested with timeit+format_timespan), and the majority of
the backend methods deal with I/O, and thus were already releasing the
GIL.
2021-03-11 14:51:29 +10:00
..
cargo update Rust deps 2021-03-10 11:53:27 +10:00
.gitignore rspy -> pylib/rsbridge 2020-11-02 15:21:12 +10:00
BUILD.bazel switch to workspace for Rust code 2020-11-24 18:41:03 +10:00
build.rs rspy -> pylib/rsbridge 2020-11-02 15:21:12 +10:00
Cargo.toml update to stable pyo3 0.13 release 2020-12-23 10:08:38 +10:00
lib.rs rework backend codegen to support multiple services; split out sched 2021-03-11 14:51:29 +10:00