odem-rs-sync

Crates.ioodem-rs-sync
lib.rsodem-rs-sync
version0.2.0
created_at2025-02-21 16:38:42.692626+00
updated_at2025-06-20 21:44:31.924243+00
descriptionModel-time synchronization facilities of the ODEM-rs simulation framework
homepage
repositoryhttps://gitlab.informatik.hu-berlin.de/weber/odem-rs
max_upload_size
id1564433
size179,560
Dorian Weber (Heroglyph)

documentation

README

ODEM-rs Sync

odem-rs-sync provides synchronization primitives and communication structures for agent-job interactions in ODEM-rs simulations.

Features

  • Internal cooperative concurrency by extending simulation contexts with forking.
  • MPMC channels to connect agents.
  • Control expressions allow modeling state-events in addition to the standard time-events provided by the scheduler.
  • A GPSS-inspired facility to model exclusive resources.

Dynamically sized backing stores for the channels require the alloc-feature. Channels themselves can either be created on the heap using a free channel-function like in Rust's standard library which requires alloc as well, or pinned on the stack for the no_std solution. Everything else is no_std.

Installation

This crate is meant as a dependency to the odem-rs entry crate, but it is possible to use it in combination with the simulator core defined in the odem-rs-code crate. To install, add the following line to your Cargo.toml.

[dependencies]
odem-rs-sync = "*"

License

Licensed under MIT. See LICENSE for details.

Commit count: 0

cargo fmt