Почему часы нужны для логотипа?
Я планирую P2P-совместное программное обеспечение для редактирования, и я планировал перейти на WOOT. Проблема состояла бы в том, что у меня были бы множество надгробий (атомы - это символы...), поэтому я искал больше и нашел этот PDF о подходе Logoot. Для меня все ясно, кроме одного: зачем каждому сайту нужны часы? Я не смог найти ничего в документе, который упоминает цель этого значения.
Есть ли ситуация, которая требует разрешения часов без конфликта?
2 ответа
Мне тоже было интересно. Не официальный источник, но в соответствии с документами для пакета логотипа npm:
Обратите внимание, что векторные значения часов не сравниваются. Векторные значения часов используются для обеспечения уникальных идентификаторов атомов, а не для упорядочения.
Есть ли ситуация, требующая бесконфликтного решения с помощью часов?
Есть, и мне потребовалось гораздо больше времени, чтобы понять это, чем я готов признать:
Скажем, у нас есть массив = [] (где позиция выхода) и два клиента и .
делает это: удалить(), вставить(); local = []
делает это: delete(); местный = []
после применения операций он получает = [P
]
послеC1
применяетсяC2
операций он получаетA
= []
Ой.
Поскольку logoot не использует надгробные камни, клиент может создать позицию, которую он сам удалил ранее, поэтому вам нужноclock
чтобы избежать вышеупомянутой ситуации.