diff options
author | Andrew Evans <aevans@nicira.com> | 2011-01-28 15:39:55 -0800 |
---|---|---|
committer | Andrew Evans <aevans@nicira.com> | 2011-02-01 14:45:20 -0800 |
commit | 0b3e7a8b717b8c50c24244f7054079ede61742f2 (patch) | |
tree | 15eb6517d87e85ed1872de2cf4b53e63fef91b74 /lib/jsonrpc.c | |
parent | f696f12fbe84f49d650f48c45ce1a24b94547ad2 (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.c | 15 |
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) { |