jsonrpc: Treat draining data from send queue as activity.
authorBen Pfaff <blp@nicira.com>
Fri, 7 Sep 2012 17:50:15 +0000 (10:50 -0700)
committerBen Pfaff <blp@nicira.com>
Fri, 7 Sep 2012 17:50:15 +0000 (10:50 -0700)
commitf97cae29996cf17190f4ba5cdc62e9abf4386cb6
tree35752f0ea2f2431103bf58f5bd41702a5df72d76
parenta6f639f8080fe18120bb205609c6e364f6de7e70
jsonrpc: Treat draining data from send queue as activity.

Until now, the jsonrpc module has used messages received from the
remote peer as the sole means to determine that the JSON-RPC
connection is up.  This could in theory interact badly with a
remote peer that stops reading and processing messages from the
receive queue when there is a backlog in the send queue for a
given connection (ovsdb-server is an example of a program that
behaves this way).  This commit fixes the problem by expanding
the definition of "activity" to include successfully sending
JSON-RPC data that was previously queued.

The above change is exactly analogous to the similar change
made to the rconn library in commit 133f2dc95454 (rconn: Treat
draining a message from the send queue as activity.).

Bug #12789.
Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/jsonrpc.c
python/ovs/jsonrpc.py