Replies: 1 comment
-
|
An alternative to consider - protobuf: https://github.com/stephenh/ts-proto |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
As of now, every packet has its properties annotated by decorators according to their binary representation. For instance, an 8-bit unsigned integer is represented by the
@byte()decorator. Each decorator holds a unique character which is then used when packing or unpacking binary data.The downsides of this approach is that there is a lot of "magic" code inside the base Struct and Packet classes and several
astypecasts, making the code less readable and maintainable.The idea is to define a schema for each packet and have the type definition inferred from the schema. This can be done using the Typed Binary library: https://github.com/iwoplaza/typed-binary
It includes several binary schema types, a buffer writer and a reader to pack/unpack binary data into the schema structure.
So far it lacks all ArrayBuffer binary types like 16-bit integers or an unsigned 32-bit float. I've created an issue for it: iwoplaza/typed-binary#8
Beta Was this translation helpful? Give feedback.
All reactions