manual_tick_runtime/
manual_tick_runtime.rs1use rns_embedded_core::{store::JournaledEmbeddedStore, transport::LinkState};
2use rns_embedded_runtime::{
3 ble::{BleShimConfig, BleShimTransport},
4 EmbeddedNodeRuntime, RuntimeConfig,
5};
6
7fn main() {
8 let mut runtime = EmbeddedNodeRuntime::new(RuntimeConfig::default()).expect("runtime");
9 let mut store = JournaledEmbeddedStore::new();
10 let mut transport = BleShimTransport::new(BleShimConfig::default()).expect("transport");
11
12 transport.set_link_state(LinkState::Up);
13 runtime.tick(0, &mut transport, &mut store).expect("tick");
14 runtime.queue_message([0x44; 16], b"hello from manual tick").expect("queue message");
15 runtime.tick(1_000, &mut transport, &mut store).expect("tick");
16
17 while let Some(frame) = transport.take_outbound_wire() {
18 println!("outbound frame bytes={}", frame.len());
19 }
20}