std_embedded_nal_minicoapserver/
std_embedded_nal_minicoapserver.rs1use embedded_nal::UdpFullStack;
2
3use log::info;
4
5fn run<S>(stack: &mut S)
12where
13 S: UdpFullStack,
14{
15 let mut sock = stack.socket().expect("Can't create a socket");
16
17 let log = Some(coap_message_demos::log::Log::start_once());
18
19 let mut handler = coap_message_demos::full_application_tree(log);
20
21 stack.bind(&mut sock, 5683).expect("Can't bind to port");
22 info!("Server is ready.");
23
24 loop {
25 match embedded_nal_minimal_coapserver::poll(stack, &mut sock, &mut handler) {
26 Err(embedded_nal::nb::Error::WouldBlock) => {
27 std::thread::sleep(std::time::Duration::from_millis(50));
29 }
30 e => e.expect("UDP error during send/receive"),
31 }
32 }
33}
34
35fn main() {
36 let mut stack = std_embedded_nal::Stack::default();
37
38 run(&mut stack);
39}