/*
- * Copyright (c) 2009, 2010 Nicira Networks.
+ * Copyright (c) 2009, 2010, 2011 Nicira Networks.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
jsonrpc_recv_wait(struct jsonrpc *rpc)
{
if (rpc->status || rpc->received || !byteq_is_empty(&rpc->input)) {
- poll_immediate_wake();
+ (poll_immediate_wake)(rpc->name);
} else {
stream_recv_wait(rpc->stream);
}
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)
{
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)
{