Skip to content

Commit

Permalink
rconn: Factor code out from copy_to_monitor().
Browse files Browse the repository at this point in the history
This prepares for the introduction of a second user in the following
commit.

Signed-off-by: Ben Pfaff <[email protected]>
  • Loading branch information
blp committed May 3, 2013
1 parent 44f645a commit 5ac7c4d
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions lib/rconn.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 *);
Expand Down Expand Up @@ -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)
{
Expand All @@ -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++;
Expand Down

0 comments on commit 5ac7c4d

Please sign in to comment.