From 5ac7c4dcf593a4515f9302cd0f5beae3c0290a96 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Wed, 24 Oct 2012 09:42:34 -0700 Subject: [PATCH] rconn: Factor code out from copy_to_monitor(). This prepares for the introduction of a second user in the following commit. Signed-off-by: Ben Pfaff --- lib/rconn.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/rconn.c b/lib/rconn.c index 9b6cd8638..d7bb0be21 100644 --- a/lib/rconn.c +++ b/lib/rconn.c @@ -150,6 +150,7 @@ static void reconnect(struct rconn *); static void report_error(struct rconn *, int error); static void disconnect(struct rconn *, int error); static void flush_queue(struct rconn *); +static void close_monitor(struct rconn *, size_t idx, int retval); static void copy_to_monitor(struct rconn *, const struct ofpbuf *); static bool is_connected_state(enum state); static bool is_admitted_msg(const struct ofpbuf *); @@ -1056,6 +1057,15 @@ state_transition(struct rconn *rc, enum state state) rc->state_entered = time_now(); } +static void +close_monitor(struct rconn *rc, size_t idx, int retval) +{ + VLOG_DBG("%s: closing monitor connection to %s: %s", + rconn_get_name(rc), vconn_get_name(rc->monitors[idx]), + ovs_retval_to_string(retval)); + rc->monitors[idx] = rc->monitors[--rc->n_monitors]; +} + static void copy_to_monitor(struct rconn *rc, const struct ofpbuf *b) { @@ -1073,10 +1083,7 @@ copy_to_monitor(struct rconn *rc, const struct ofpbuf *b) if (!retval) { clone = NULL; } else if (retval != EAGAIN) { - VLOG_DBG("%s: closing monitor connection to %s: %s", - rconn_get_name(rc), vconn_get_name(vconn), - strerror(retval)); - rc->monitors[i] = rc->monitors[--rc->n_monitors]; + close_monitor(rc, i, retval); continue; } i++; -- 2.47.0