mirror of
https://github.com/ZmnSCPxj/clboss.git
synced 2026-08-14 12:43:19 +02:00
This introduces a number of changes:
* We can no longer implicitly capture `this` in `[=]() { ... }`,
we have to explicitly capture it: `[=, this]() { ... }`.
* We added a newer version of the `AX_CXX_COMPILE_STDCXX` macro as
the stable Debian does not have the latest version yet, and it is
the latest version that has support for C++20.
|
||
|---|---|---|
| .. | ||
| Gumshoe.cpp | ||
| Gumshoe.hpp | ||
| Janitor.cpp | ||
| Janitor.hpp | ||
| Main.cpp | ||
| Main.hpp | ||
| Manager.cpp | ||
| Manager.hpp | ||
| README.md | ||
| Secretary.cpp | ||
| Secretary.hpp | ||
The ChannelCandidateInvestigator is a module which waits for
ProposeChannelCandidates and puts them in persistent storage.
Every random-hour, we investigate up to some number of candidates. The gumshoe tries to connect to the candidates.
If the candidate is not reachable, we decrement its score by 1. If the candidate is reachable, we increment its score by 1. If the score drops too low, we stop investigating it and remove it from our table.
New candidates start with a score of 0.
When there are few positive/zero-scored candidates, we
SolicitChannelCandidates to trigger other modules.
The sub-modules are:
Main- contains the other sub-modules.Secretary- handles queries and updates to the database.Gumshoe- handles checking the candidates.Manager- operates theSecretaryandGumshoe, and does most of the bus talking.