Skip to content

tsmarques/imc-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IMC Rust

Deserialization example

fn imc_is<T :Message>(id :u16) -> bool {
    T::static_id() == id
}

while let Ok(m) = imc::packet::deserialize(&mut data) {
    if imc_is::<imc::EstimatedState::EstimatedState>(m.id()) {
        let estate =  m.as_any().downcast_ref::<imc::EstimatedState::EstimatedState>().unwrap();
        // (...)
    } else if imc_is::<imc::EntityState::EntityState>(m.id()) {
        let entity_state = m.as_any().downcast_ref::<imc::EntityState::EntityState>().unwrap();
        // (...)
    }
}

where data is of type dyn bytes::Buf

About

Experimental: Rust bindings for IMC protocol

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages