RFC : Multi-BroadCast Protocol (MBCP) ------------------------------------- Datagrams : ~~~~~~~~~~~ |------|-----------|---------| | Type | Timestamp | Message | |------|-----------|---------| Type = unsigned char : ~~~~~~~~~~~~~~~~~~~~~~ Values: - 'T' for test messages - 'A' for ABCAST messages - 'C' for CBCAST messages - _ for unknown messages Timestamp : ~~~~~~~~~~~ If Type == 'T' then No timestamp, empty block, null size... If Type == 'A' then |------------|-------------| | Site index | Clock value | |------------|-------------| If Type == 'C' then |------------|------------|-------------| | Site_index | Clock_size | Clock_value | |------------|------------|-------------| If Type is unknown then can't be read, drop packet Site_index : unsigned short (16 bits) ~~~~~~~~~~~~ Clock_size : same size than "Site index" (unsigned short 16 bits) ~~~~~~~~~~~~ Clock_value : ~~~~~~~~~~~~~ If Type = 'A' then unsigned short (16 bits) If Type = 'C' then array of unsigned shorts (16 bits * Clock_size) Message : ~~~~~~~~~ |--------------|--------------| | Message_size | Message_data | |--------------|--------------| Message_size : unsigned short (16 bits) ~~~~~~~~~~~~~~ Message_data : ~~~~~~~~~~~~~~ array of unsigned shorts (16 bits * Message_size)