81 lines
1.8 KiB
Text
81 lines
1.8 KiB
Text
|
|
RFC : Multi-BroadCast Protocol (MBCP)
|
|
-------------------------------------
|
|
|
|
In the case of TEST :
|
|
nothing to say...
|
|
|
|
In the case of ABCAST :
|
|
the first datagram (from emiter) contains the real message
|
|
the second datagram (from sites) contains the type/timestamp of the first datagram and
|
|
the new timestamp in the message part
|
|
the last datagram (from emiter) contains the type/timestamp of the first datagram and
|
|
the final official timestamp in the message part
|
|
|
|
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)
|
|
|