marigold-dev / pollinate

A platform agnostic library for P2P communications using UDP and Bin_prot
22 stars 2 forks source link

Integrate failure detector into client #21

Closed rosalogia closed 2 years ago

rosalogia commented 2 years ago

This PR integrates the failure detection component introduced in #5 by @gsebil08 into the client using systems introduced in #8. It adds a failure detector as a field of the client and runs message handlers and auto-probing functions periodically as part of the client's server. Unfortunately, due to a cyclic dependency issue, it required that the failure detection code all be moved into the client module. I would love to explore solutions to this, as it makes the client module feel quite messy. The failure detector integration has not been tested yet, but the tests that do exist still pass.