Реализация RAFT, полученная в результате проекта Cornerstone, который является очень легкой реализацией C ++ с минимальными зависимостями, первоначально написанной Энди Ченом.
Были добавлены новые функции, которые не описаны в оригинальной статье, но необходимы для реальных вариантов использования на eBay. Мы считаем, что эти функции полезны и для других за пределами eBay.
cmake и openssl :$ sudo apt-get install cmake openssl libssl-dev libz-dev$ brew install cmake
$ brew install openssl$ git submodule update --init$ ./prepare.shasio-1-24-0 в каталог проекта. C: N uRaft > git clone https://github.com/chriskohlhoff/asio -b asio-1-24-0$ mkdir build
$ cd build
build$ cmake ../
build$ makeЗапустите модульные тесты
build$ ./runtests.shC: N uRaft > mkdir build
C: N uRaft > cd build
C: N uRaft b uild > cmake -G " NMake Makefiles " ..
C: N uRaft b uild > nmake Возможно, вам потребуется сначала запустить сценарий vcvars в вашем каталоге build . Например (это зависит от того, как вы установили MSVC):
C: N uRaft b uild > c: P rogram Files (x86) M icrosoft Visual Studio 2 019 C ommunity V C A uxiliary B uild v cvars64.batПожалуйста, обратитесь к этому документу.
Пожалуйста, обратитесь к примерам.
Пожалуйста, обратитесь к тестам/скамейке.
Быстрые результаты
Мы приветствуем взносы. Если вы найдете какие -либо ошибки, потенциальные недостатки и краевые случаи, улучшения, новые предложения по функциям или дискуссии, отправьте проблемы или обращайте запросов.
Copyright 2017-Present ebay Inc.
Автор/разработчик: Юнг-санг Ан
Лицензировано по лицензии Apache, версия 2.0 («Лицензия»); Вы не можете использовать этот файл, кроме как в соответствии с лицензией. Вы можете получить копию лицензии на
https://www.apache.org/licenses/license-2.0
Если не требуется применимый закон или не согласен в письменной форме, программное обеспечение, распространяемое по лицензии, распределяется по основам «как есть», без каких -либо гарантий или условий, явных или подразумеваемых. См. Лицензию для конкретного языка, регулирующих разрешения и ограничения по лицензии.
URL: https://github.com/datatechnology/cornerstone
Лицензия: https://github.com/datatechnology/cornerstone/blob/master/license
Первоначально лицензировано по лицензии Apache 2.0.
URL: https://github.com/stbrumme/crc32
Оригинал Copyright 2011-2016 Стефан Брамм
См. Оригинальная лицензия Zlib: https://github.com/stbrumme/crc32/blob/master/license
URL: https://github.com/greensky00/simple_logger
Лицензия: https://github.com/greensky00/simple_logger/blob/master/license
Первоначально лицензировано по лицензии MIT.
URL: https://github.com/greensky00/testsuite
Лицензия: https://github.com/greensky00/testsuite/blob/master/license
Первоначально лицензировано по лицензии MIT.
URL: https://github.com/greensky00/latency-collector
Лицензия: https://github.com/greensky00/latency-collector/blob/master/license
Первоначально лицензировано по лицензии MIT.
URL: https://github.com/eriwen/lcov-to-cobertura-xml/blob/master/lcov_cobertura/lcov_cobertura.py
Лицензия: https://github.com/eriwen/lcov-to-cobertura-xml/blob/master/license
Copyright 2011-2012 Эрик Венделин
Первоначально лицензировано по лицензии Apache 2.0.
URL: https://github.com/bilke/cmake-modules
Лицензия: https://github.com/bilke/cmake-modules/blob/master/license_1_0.txt
Copyright 2012-2017 Lars Bilke
Первоначально лицензирован по лицензии BSD.