From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Vladislav Shpilevoy Subject: [PATCH v2 0/6] SWIM Date: Tue, 25 Dec 2018 22:19:23 +0300 Message-Id: To: tarantool-patches@freelists.org Cc: vdavydov.dev@gmail.com, kostja@tarantool.org List-ID: First commit message is a comprehensive information about SWIM which I will not duplicate here. This is only description of the patchset. SWIM consists of two main components - dissemination and failure detection, and one additional component - anti-entropy. The patchset introduces them one by one in the first three commits. Last two commits are technical improvements. Note, these commits contain bugs, typos, and have no tests. The goal of this review is a highlevel approval of API so as to start writing tests. Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-3234-swim Issue: https://github.com/tarantool/tarantool/issues/3234 Changes in v2: - new API with explicit members addition, removal; - ability to create multiple SWIM instances per one Tarantool process; - multi-packet sending of one SWIM message. V1: https://www.freelists.org/post/tarantool-patches/PATCH-05-SWIM Vladislav Shpilevoy (6): [RAW] swim: introduce SWIM's anti-entropy component [RAW] swim: introduce failure detection component [RAW] swim: introduce a dissemination component [RAW] swim: keep encoded round message cached [RAW] swim: send one UDP packet per EV_WRITE event src/CMakeLists.txt | 3 +- src/evio.c | 3 +- src/evio.h | 4 + src/lib/CMakeLists.txt | 1 + src/lib/swim/CMakeLists.txt | 6 + src/lib/swim/swim.c | 1868 ++++++++++++++++++++++++++++++ src/lib/swim/swim.h | 130 ++ src/lua/init.c | 2 + src/lua/swim.c | 243 ++++ src/lua/swim.h | 47 + 10 files changed, 2304 insertions(+), 3 deletions(-) create mode 100644 src/lib/swim/CMakeLists.txt create mode 100644 src/lib/swim/swim.c create mode 100644 src/lib/swim/swim.h create mode 100644 src/lua/swim.c create mode 100644 src/lua/swim.h -- 2.17.2 (Apple Git-113)