Expand description

Tools to easily pull options from a coap_message::ReadableMessage.

This will typically be used by filtering down a message’s options, e.g. like this:


use coap_message::{MessageOption, ReadableMessage};
use crate::coap_handler_implementations::option_processing::OptionsExt;

fn process_message(req: &impl ReadableMessage) -> Result<ReqData, BadOption>
{
    let mut block2 = None;

    req.options()
           .take_block2(&mut block2)
           .filter(|o| {
               match o.number() {
                   // my own option => my own behavior
                   _ => true
               }
           })
           .ignore_elective_others()
           ?;

    let block2 = block2.unwrap_or_default();
    Ok(ReqData { block2 })
}

Structs

Traits