swim: introduce failure detection component
Failure detection components allows to find which members are already dead. It works via pings attached to each round message. A member, received ping, should respond with an ack. If it is not done within a timeout, then the ping is considered unacknowledged. When a number of pings grows to a threshold, the member is declared DEAD. After more unacked pings it is dropped from the member table. Unless the GC was turned off. Part of #3234
Showing
- src/lib/swim/swim.c 464 additions, 14 deletionssrc/lib/swim/swim.c
- src/lib/swim/swim.h 43 additions, 0 deletionssrc/lib/swim/swim.h
- src/lib/swim/swim_constants.h 5 additions, 0 deletionssrc/lib/swim/swim_constants.h
- src/lib/swim/swim_io.c 22 additions, 1 deletionsrc/lib/swim/swim_io.c
- src/lib/swim/swim_io.h 16 additions, 0 deletionssrc/lib/swim/swim_io.h
- src/lib/swim/swim_proto.c 80 additions, 2 deletionssrc/lib/swim/swim_proto.c
- src/lib/swim/swim_proto.h 93 additions, 3 deletionssrc/lib/swim/swim_proto.h
- test/unit/swim.c 216 additions, 12 deletionstest/unit/swim.c
- test/unit/swim.result 46 additions, 1 deletiontest/unit/swim.result
- test/unit/swim_test_transport.c 16 additions, 2 deletionstest/unit/swim_test_transport.c
- test/unit/swim_test_transport.h 9 additions, 0 deletionstest/unit/swim_test_transport.h
- test/unit/swim_test_utils.c 165 additions, 1 deletiontest/unit/swim_test_utils.c
- test/unit/swim_test_utils.h 42 additions, 0 deletionstest/unit/swim_test_utils.h
Loading
Please register or sign in to comment