aboutsummaryrefslogtreecommitdiff
path: root/lib/jsonrpc.c
diff options
context:
space:
mode:
authorAndrew Evans <aevans@nicira.com>2011-01-28 15:39:55 -0800
committerAndrew Evans <aevans@nicira.com>2011-02-01 14:45:20 -0800
commit0b3e7a8b717b8c50c24244f7054079ede61742f2 (patch)
tree15eb6517d87e85ed1872de2cf4b53e63fef91b74 /lib/jsonrpc.c
parentf696f12fbe84f49d650f48c45ce1a24b94547ad2 (diff)
ovsdb-server: Write manager status information to Manager table.
This commit makes the status of manager connections visible via the Manager table in the database. Two new columns have been created for this purpose: 'is_connected' and 'status'. The former is a boolean flag, and the latter is a string-string map which may contain the keys "last_error", "state", and "time_in_state". Requested-by: Keith Amidon <keith@nicira.com> Reviewed by: Ben Pfaff. Feature #3692.
Diffstat (limited to 'lib/jsonrpc.c')
-rw-r--r--lib/jsonrpc.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/jsonrpc.c b/lib/jsonrpc.c
index fb20bc58..afcc5208 100644
--- a/lib/jsonrpc.c
+++ b/lib/jsonrpc.c
@@ -876,6 +876,8 @@ jsonrpc_session_get_backlog(const struct jsonrpc_session *s)
return s->rpc ? jsonrpc_get_backlog(s->rpc) : 0;
}
+/* Always returns a pointer to a valid C string, assuming 's' was initialized
+ * correctly. */
const char *
jsonrpc_session_get_name(const struct jsonrpc_session *s)
{
@@ -947,6 +949,19 @@ jsonrpc_session_get_seqno(const struct jsonrpc_session *s)
return s->seqno;
}
+int
+jsonrpc_session_get_status(const struct jsonrpc_session *s)
+{
+ return s && s->rpc ? jsonrpc_get_status(s->rpc) : 0;
+}
+
+void
+jsonrpc_session_get_reconnect_stats(const struct jsonrpc_session *s,
+ struct reconnect_stats *stats)
+{
+ reconnect_get_stats(s->reconnect, time_msec(), stats);
+}
+
void
jsonrpc_session_force_reconnect(struct jsonrpc_session *s)
{