summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Pettit <jpettit@ovn.org>2019-03-22 16:29:45 -0700
committerJustin Pettit <jpettit@ovn.org>2019-10-03 09:41:03 -0700
commit515d24f18dd3a9eb4ad0a27a22639dd83f897e6f (patch)
treefad38d37fdbacac6d495ea277cc7425ccd49c157
parent1bbc32df4b56b57a9685fe2e26dd5bfb70de1f03 (diff)
downloadopenvswitch-515d24f18dd3a9eb4ad0a27a22639dd83f897e6f.tar.gz
jsonrpc: Add jsonrpc_session_send_block().
-rw-r--r--lib/jsonrpc.c12
-rw-r--r--lib/jsonrpc.h1
2 files changed, 13 insertions, 0 deletions
diff --git a/lib/jsonrpc.c b/lib/jsonrpc.c
index b9619b822..47ba17762 100644
--- a/lib/jsonrpc.c
+++ b/lib/jsonrpc.c
@@ -1091,6 +1091,18 @@ jsonrpc_session_get_n_remotes(const struct jsonrpc_session *s)
/* Always takes ownership of 'msg', regardless of success. */
int
+jsonrpc_session_send_block(struct jsonrpc_session *s, struct jsonrpc_msg *msg)
+{
+ if (s->rpc) {
+ return jsonrpc_send_block(s->rpc, msg);
+ } else {
+ jsonrpc_msg_destroy(msg);
+ return ENOTCONN;
+ }
+}
+
+/* Always takes ownership of 'msg', regardless of success. */
+int
jsonrpc_session_send(struct jsonrpc_session *s, struct jsonrpc_msg *msg)
{
if (s->rpc) {
diff --git a/lib/jsonrpc.h b/lib/jsonrpc.h
index a44114e8d..abd8e30ea 100644
--- a/lib/jsonrpc.h
+++ b/lib/jsonrpc.h
@@ -120,6 +120,7 @@ const char *jsonrpc_session_get_name(const struct jsonrpc_session *);
size_t jsonrpc_session_get_n_remotes(const struct jsonrpc_session *);
int jsonrpc_session_send(struct jsonrpc_session *, struct jsonrpc_msg *);
+int jsonrpc_session_send_block(struct jsonrpc_session *, struct jsonrpc_msg *);
struct jsonrpc_msg *jsonrpc_session_recv(struct jsonrpc_session *);
void jsonrpc_session_recv_wait(struct jsonrpc_session *);