Мне вручили документ, который определяет набор сообщений, которые передаются и принимаются по последовательному каналу связи. Я хотел бы принимать входящие сообщения и десериализовать их в объекты, а также сериализовать свои исходящие сообщения. Кодирование по сети установлено и не может быть изменено и состоит из различных битовых полей в заголовке и различных полезных данных, например,
class Message{
int msg_num : 7
int dest_addr : 4
bool SRR : 1
bool IDE : 1
int source_addr : 6
//... and so on...
}
Я рассмотрел использование protobufs , но оказалось, что их метод varint кодировка установлена. Я также рассмотрел boost-сериализацию , но, судя по тому, что я читал до сих пор, не совсем понятно, как там выполняется кодирование.
Итак, несколько вопросов: