You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#93 is super cool, but adds a lot of boilerplate parsing code. This has been abstracted into the Block trait from that PR, but there's a lot of tricky bits with endianness, and it's been taking lots time and effort to become mergeable.
Proposed Solution
Deku (https://github.com/sharksforarms/deku) performs the process of byte-level serialization, and has specific handling for endianness. It also recently implemented std::io::{Read,Write} traits (see https://docs.rs/deku/latest/deku/#read-supported), which should cover the entire functionality of the Block trait and the {from,to}_le! macros introduced in #93.
Expected Result
We may be able to remove a lot of boilerplate code while retaining (or maybe exceeding?) the performance benefits of #93 by delegating that work to the deku crate.
The text was updated successfully, but these errors were encountered:
Problem
#93 is super cool, but adds a lot of boilerplate parsing code. This has been abstracted into the
Block
trait from that PR, but there's a lot of tricky bits with endianness, and it's been taking lots time and effort to become mergeable.Proposed Solution
Deku (https://github.com/sharksforarms/deku) performs the process of byte-level serialization, and has specific handling for endianness. It also recently implemented
std::io::{Read,Write}
traits (see https://docs.rs/deku/latest/deku/#read-supported), which should cover the entire functionality of theBlock
trait and the{from,to}_le!
macros introduced in #93.Expected Result
We may be able to remove a lot of boilerplate code while retaining (or maybe exceeding?) the performance benefits of #93 by delegating that work to the
deku
crate.The text was updated successfully, but these errors were encountered: