You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

main.rs 1.1 kB

1234567891011121314151617181920212223242526272829303132333435
  1. use dora_node_api::{self, dora_core::config::DataId, DoraNode, Event, IntoArrow};
  2. fn main() -> eyre::Result<()> {
  3. println!("hello");
  4. let output = DataId::from("random".to_owned());
  5. let (mut node, mut events) = DoraNode::init_from_env()?;
  6. for i in 0..100 {
  7. let event = match events.recv() {
  8. Some(input) => input,
  9. None => break,
  10. };
  11. match event {
  12. Event::Input {
  13. id,
  14. metadata,
  15. data: _,
  16. } => match id.as_str() {
  17. "tick" => {
  18. let random: u64 = rand::random();
  19. println!("tick {i}, sending {random:#x}");
  20. node.send_output(output.clone(), metadata.parameters, random.into_arrow())?;
  21. }
  22. other => eprintln!("Ignoring unexpected input `{other}`"),
  23. },
  24. Event::Stop => println!("Received manual stop"),
  25. other => eprintln!("Received unexpected input: {other:?}"),
  26. }
  27. }
  28. Ok(())
  29. }