Skip to content
deng_ran edited this page Jun 20, 2021 · 11 revisions

The original intention of launching this project was to solve practical problems in the Internet of Things. The data transmission between the device and the server is an inevitable topic in the Internet of Things. According to years of experience, the embedded device is usually programmed in C/C++ language. It is more inclined to use binary format to transmit data, rather than JSON format. The embedded device packet the message according to a specific protocol, the server parses the message according to the protocol. Although it is not a challenge for Daoshu engineers, if there is a tool that can realize the conversion between binary datagram and Java data objects, then developers can focus more on the realization of the business, why not do it.

FastProto is a protocolized binary serialization & deserialization tool written in Java, which allows developers to customize binary format through annotations. It solves the problem of cross-language and cross-platform data sharing of Java in a new form, especially suitable for the field of Internet of Things(IoT).

Features

  • Binary serialization & deserialization
  • Control the serialization process through annotations
  • Support all Java primitive data types and their wrapper classes
  • Support unsigned data types such as uint8, uint16, uint32 and uint64
  • Custom endianness(big endian or little endian), datagram reverse addressing
  • Support datagram compress and decompress(gzip, deflate)
  • AutoType, automatically infer all Java primitive data types and their wrapper classes when using @AutoType
  • Kafka serializer & deserializer
Clone this wiki locally