From: Haomai Wang Date: Sat, 12 Mar 2016 13:02:51 +0000 (+0800) Subject: async: skip unnecessary steps when parsing simple messages X-Git-Tag: v11.0.0~760^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a9ac1c4f88ffb5f66c43527ea0ae1deef1be3a96;p=ceph.git async: skip unnecessary steps when parsing simple messages Signed-off-by: Haomai Wang --- diff --git a/src/msg/async/AsyncConnection.cc b/src/msg/async/AsyncConnection.cc index bbe8875c595c..a35f1eaedff0 100644 --- a/src/msg/async/AsyncConnection.cc +++ b/src/msg/async/AsyncConnection.cc @@ -731,7 +731,6 @@ void AsyncConnection::process() ldout(async_msgr->cct, 20) << __func__ << " got front " << front.length() << dendl; } state = STATE_OPEN_MESSAGE_READ_MIDDLE; - break; } case STATE_OPEN_MESSAGE_READ_MIDDLE: @@ -753,7 +752,6 @@ void AsyncConnection::process() } state = STATE_OPEN_MESSAGE_READ_DATA_PREPARE; - break; } case STATE_OPEN_MESSAGE_READ_DATA_PREPARE: @@ -782,7 +780,6 @@ void AsyncConnection::process() msg_left = data_len; state = STATE_OPEN_MESSAGE_READ_DATA; - break; } case STATE_OPEN_MESSAGE_READ_DATA: @@ -803,10 +800,10 @@ void AsyncConnection::process() msg_left -= read; } - if (msg_left == 0) - state = STATE_OPEN_MESSAGE_READ_FOOTER_AND_DISPATCH; + if (msg_left > 0) + break; - break; + state = STATE_OPEN_MESSAGE_READ_FOOTER_AND_DISPATCH; } case STATE_OPEN_MESSAGE_READ_FOOTER_AND_DISPATCH: