Sto tentando di implementare un messaggio che contiene sottomessaggi. Il formato sarà simile al seguente.
Message: Field 1, field 2, ..., sub type, buffer
A seconda del sottotipo ci potrebbe essere uno dei vari modi per interpretare il buffer. Alcuni dei messaggi secondari potrebbero avere un aspetto simile al seguente.
Sub type 1: Field 1, field 2, ..., sub sub type
Sub sub type 1: Field 1, field 2, ..., data buffer
Ciò di cui non sono sicuro è come strutturare il mio codice al fine di rappresentare al meglio la struttura esistente. I messaggi secondari non ereditano gli uni dagli altri, quindi non voglio usare l'ereditarietà.
Ciascuno dei campi rappresentati nel messaggio può essere ovunque da 1 a 31 bit di lunghezza. Idealmente mi piacerebbe avere una struct / class con tutti i tipi di dati unsigned int
per facilitare l'interazione con i dati e lasciare che i metodi serialize / deserialize gestiscano il packing e lo spacchettamento dei dati prima / dopo l'invio / ricezione del buffer sulla rete .