wiredef

6 commits
Updated 2026-04-29 20:05:07
src/msg
src/msg/body.rs
#[macro_export]
macro_rules! wiredef_body_write {
    ($self:ident, $buf:ident, $field:ident, $ty:ty, []) => {
        <$ty as $crate::scalar::WriteScalar>::write_scalar(&$self.$field, $buf)
            .map_err($crate::msg::MsgError::ScalarBody)?;
    };

    ($self:ident, $buf:ident, $field:ident, $ty:ty, [size=prefixed]) => {
        <$ty as $crate::slice::WriteSlice>::write_slice(&$self.$field, $buf)
            .map_err($crate::msg::MsgError::SliceBody)?;
    };
}

#[macro_export]
macro_rules! wiredef_body_read {
    ($self:ident, $buf:ident, $header:expr, $field:ident, $ty:ty, []) => {
        <$ty as $crate::scalar::ReadScalar>::read_scalar($buf)
            .map_err($crate::msg::MsgError::ScalarBody)?
    };

    ($self:ident, $buf:ident, $header:expr, $field:ident, $ty:ty, [size=prefixed]) => {
        <$ty as $crate::slice::ReadSlice>::read_slice($buf)
            .map_err($crate::msg::MsgError::SliceBody)?
    };
}