Vector clocks and extra integrity checking
Actually add the vector clock tracking to events which allows detecting if the head is outdated between events. How this works is each process tracks the other processes with a ContentTypeSystemProcesses
event. When an event comes in from a device it does not know about an updated ContentTypeSystemProcesses
event is published. Each event then includes a vector_clock
of the exact order and size of the list in the previous SystemProcesses
event where value corresponds to the logical_clock
for each event of head. This is to avoid including the large Process
value for each device per message and instead store the low entropy and smaller numbers.