aboutsummaryrefslogtreecommitdiffstats
path: root/configd/src/apps/sentinel/rpchooks.cpp
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2021-06-10 08:54:33 +0000
committerArne Juul <arnej@verizonmedia.com>2021-06-10 12:46:46 +0000
commit58ca4782441f060f8b33ef2d117aaee25e7b9c61 (patch)
tree5afdadb9e5eef5b671b2dd65485ecb3671606bec /configd/src/apps/sentinel/rpchooks.cpp
parenteb93f635cde554ab681c1029d68412b8dbcd5487 (diff)
add rpc method for connectivity report
Diffstat (limited to 'configd/src/apps/sentinel/rpchooks.cpp')
-rw-r--r--configd/src/apps/sentinel/rpchooks.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/configd/src/apps/sentinel/rpchooks.cpp b/configd/src/apps/sentinel/rpchooks.cpp
index 24e3cd53509..98386beac3c 100644
--- a/configd/src/apps/sentinel/rpchooks.cpp
+++ b/configd/src/apps/sentinel/rpchooks.cpp
@@ -1,9 +1,10 @@
// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include "rpchooks.h"
-#include "cmdq.h"
#include "check-completion-handler.h"
+#include "cmdq.h"
#include "peer-check.h"
+#include "report-connectivity.h"
#include <vespa/fnet/frt/supervisor.h>
#include <vespa/fnet/frt/rpcrequest.h>
@@ -53,6 +54,12 @@ RPCHooks::initRPC(FRT_Supervisor *supervisor)
rb.ParamDesc("timeout", "Timeout for check in milliseconds");
rb.ReturnDesc("status", "Status (ok, bad, or unknown) for peer");
//-------------------------------------------------------------------------
+ rb.DefineMethod("sentinel.report.connectivity", "", "SS",
+ FRT_METHOD(RPCHooks::rpc_reportConnectivity), this);
+ rb.MethodDesc("report connectivity for peer sentinels");
+ rb.ReturnDesc("hostnames", "Names of peers checked");
+ rb.ReturnDesc("peerstatus", "Status description for each peer");
+ //-------------------------------------------------------------------------
}
void
@@ -106,4 +113,12 @@ RPCHooks::rpc_checkConnectivity(FRT_RPCRequest *req)
req->getStash().create<PeerCheck>(completionHandler, hostname, portnum, _orb, timeout);
}
+void
+RPCHooks::rpc_reportConnectivity(FRT_RPCRequest *req)
+{
+ LOG(debug, "got reportConnectivity");
+ req->Detach();
+ req->getStash().create<ReportConnectivity>(req, _orb);
+}
+
} // namespace slobrok