Skip to main content

manual_tick_runtime/
manual_tick_runtime.rs

1use 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}