diff options
author | Arne Juul <arnej@verizonmedia.com> | 2021-06-10 17:02:05 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2021-06-10 17:02:05 +0000 |
commit | a7f980e01ca483c30b4533f3835bb9b60e5a78ca (patch) | |
tree | 52be80d82e48b1f94f3049b91c7c4ae71d806d3a /configd | |
parent | 58ca4782441f060f8b33ef2d117aaee25e7b9c61 (diff) |
simplify some
Diffstat (limited to 'configd')
-rw-r--r-- | configd/src/apps/sentinel/report-connectivity.cpp | 21 | ||||
-rw-r--r-- | configd/src/apps/sentinel/report-connectivity.h | 8 |
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; |