1
0
forked from ROMEO/nexosim

Revert "Merge pull request #12 from asynchronics/feature/event-sinks"

This reverts commit 7e881afb63, reversing
changes made to 9d78e4f72a.
This commit is contained in:
Serge Barral
2024-03-06 16:16:55 +01:00
parent 43e41012d2
commit 1be2f48a00
25 changed files with 870 additions and 573 deletions

View File

@@ -36,7 +36,7 @@ use std::pin::Pin;
use std::time::Duration;
use asynchronix::model::{InitializedModel, Model, Output};
use asynchronix::simulation::{EventSlot, Mailbox, SimInit};
use asynchronix::simulation::{Mailbox, SimInit};
use asynchronix::time::{EventKey, MonotonicTime, Scheduler};
/// Water pump.
@@ -364,8 +364,7 @@ fn main() {
pump.flow_rate.connect(Tank::set_flow_rate, &tank_mbox);
// Model handles for simulation.
let mut flow_rate = EventSlot::new();
pump.flow_rate.connect_sink(&flow_rate);
let mut flow_rate = pump.flow_rate.connect_slot().0;
let controller_addr = controller_mbox.address();
let tank_addr = tank_mbox.address();

View File

@@ -27,7 +27,7 @@
//! └──────────┘
//! ```
use asynchronix::model::{Model, Output, Requestor};
use asynchronix::simulation::{EventSlot, Mailbox, SimInit};
use asynchronix::simulation::{Mailbox, SimInit};
use asynchronix::time::MonotonicTime;
/// Power supply.
@@ -124,14 +124,10 @@ fn main() {
psu.pwr_out.connect(Load::pwr_in, &load3_mbox);
// Model handles for simulation.
let mut psu_power = EventSlot::new();
let mut load1_power = EventSlot::new();
let mut load2_power = EventSlot::new();
let mut load3_power = EventSlot::new();
psu.power.connect_sink(&psu_power);
load1.power.connect_sink(&load1_power);
load2.power.connect_sink(&load2_power);
load3.power.connect_sink(&load3_power);
let mut psu_power = psu.power.connect_slot().0;
let mut load1_power = load1.power.connect_slot().0;
let mut load2_power = load2.power.connect_slot().0;
let mut load3_power = load3.power.connect_slot().0;
let psu_addr = psu_mbox.address();
// Start time (arbitrary since models do not depend on absolute time).

View File

@@ -19,7 +19,7 @@ use std::pin::Pin;
use std::time::Duration;
use asynchronix::model::{InitializedModel, Model, Output};
use asynchronix::simulation::{EventQueue, Mailbox, SimInit};
use asynchronix::simulation::{Mailbox, SimInit};
use asynchronix::time::{MonotonicTime, Scheduler};
/// Stepper motor.
@@ -200,8 +200,7 @@ fn main() {
driver.current_out.connect(Motor::current_in, &motor_mbox);
// Model handles for simulation.
let mut position = EventQueue::new();
motor.position.connect_sink(&position);
let mut position = motor.position.connect_stream().0;
let motor_addr = motor_mbox.address();
let driver_addr = driver_mbox.address();