iu7og / bongodb

🌋 Database with real smoking stuff
GNU General Public License v2.0
5 stars 0 forks source link

Разработать реализацию абстрактного класса ICommandsBuffer #73

Open catfella opened 2 years ago

catfella commented 2 years ago

В случае если реплики недоступны нужно где-то хранить команды мастера в правильной последовательности, тогда при появлении реплики можно было их применить в правильном порядке. Для этого необходимо написать реализацию класса, у класса два метода:

TooOld - означает что запрошенная версия уже утеряна (например при подрезании буффера, ведь если его не уменьшать он будет бесконечно расти и поглотит всю память). TooNew - в очереди еще не появилась команда с необходимой версией.

Version - внутрений для класса концепт, каждой команде задается уникальное число начиная с 1. Версия команды не должна повторяться в пределах работы программы.

На внутренюю реализацию никаких ограничений не накладывается.