aboutsummaryrefslogtreecommitdiffstats
path: root/configd
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2021-06-10 17:02:05 +0000
committerArne Juul <arnej@verizonmedia.com>2021-06-10 17:02:05 +0000
commita7f980e01ca483c30b4533f3835bb9b60e5a78ca (patch)
tree52be80d82e48b1f94f3049b91c7c4ae71d806d3a /configd
parent58ca4782441f060f8b33ef2d117aaee25e7b9c61 (diff)
simplify some
Diffstat (limited to 'configd')
-rw-r--r--configd/src/apps/sentinel/report-connectivity.cpp21
-rw-r--r--configd/src/apps/sentinel/report-connectivity.h8
2 files changed, 13 insertions, 16 deletions
diff --git a/configd/src/apps/sentinel/report-connectivity.cpp b/configd/src/apps/sentinel/report-connectivity.cpp
index 8e855f296c1..fff9435abdf 100644
--- a/configd/src/apps/sentinel/report-connectivity.cpp
+++ b/configd/src/apps/sentinel/report-connectivity.cpp
@@ -18,8 +18,9 @@ void ConnectivityCheckResult::returnStatus(bool ok) {
parent.requestDone();
}
-ConnectivityReportResult::~ConnectivityReportResult() = default;
-
+void ConnectivityCheckResult::startCheck(FRT_Supervisor &orb) {
+ check = std::make_unique<PeerCheck>(*this, peerName, peerPort, orb, 2500);
+}
ReportConnectivity::ReportConnectivity(FRT_RPCRequest *req, FRT_Supervisor &orb)
: _parentRequest(req),
@@ -47,21 +48,21 @@ void ReportConnectivity::configure(std::unique_ptr<ModelConfig> config) {
_configFetcher.close();
auto map = Connectivity::specsFrom(*config);
for (const auto & [ hostname, port ] : map) {
- _result.peers.emplace_back(*this, hostname, port);
+ _result.emplace_back(*this, hostname, port);
}
- LOG(debug, "making connectivity report for %zd peers", _result.peers.size());
- _remaining = _result.peers.size();
- for (auto & peer : _result.peers) {
- peer.check = std::make_unique<PeerCheck>(peer, peer.peerName, peer.peerPort, _orb, 2500);
+ LOG(debug, "making connectivity report for %zd peers", _result.size());
+ _remaining = _result.size();
+ for (auto & peer : _result) {
+ peer.startCheck(_orb);
}
}
void ReportConnectivity::finish() const {
FRT_Values *dst = _parentRequest->GetReturn();
- FRT_StringValue *pt_hn = dst->AddStringArray(_result.peers.size());
- FRT_StringValue *pt_ss = dst->AddStringArray(_result.peers.size());
- for (const auto & peer : _result.peers) {
+ FRT_StringValue *pt_hn = dst->AddStringArray(_result.size());
+ FRT_StringValue *pt_ss = dst->AddStringArray(_result.size());
+ for (const auto & peer : _result) {
dst->SetString(pt_hn++, peer.peerName.c_str());
dst->SetString(pt_ss++, peer.status.c_str());
}
diff --git a/configd/src/apps/sentinel/report-connectivity.h b/configd/src/apps/sentinel/report-connectivity.h
index ac62627fe41..d44e4eb5549 100644
--- a/configd/src/apps/sentinel/report-connectivity.h
+++ b/configd/src/apps/sentinel/report-connectivity.h
@@ -37,14 +37,10 @@ struct ConnectivityCheckResult : StatusCallback {
ConnectivityCheckResult(const ConnectivityCheckResult &) = default;
virtual ~ConnectivityCheckResult();
+ void startCheck(FRT_Supervisor &orb);
void returnStatus(bool ok) override;
};
-struct ConnectivityReportResult {
- std::vector<ConnectivityCheckResult> peers;
- ~ConnectivityReportResult();
-};
-
class ReportConnectivity : public config::IFetcherCallback<cloud::config::ModelConfig>
{
@@ -58,7 +54,7 @@ private:
void finish() const;
FRT_RPCRequest *_parentRequest;
FRT_Supervisor &_orb;
- ConnectivityReportResult _result;
+ std::vector<ConnectivityCheckResult> _result;
config::ConfigFetcher _configFetcher;
std::mutex _lock;
size_t _remaining;