From 692a674fe086b24fa462723688ced2722cfde3b9 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Tue, 14 Apr 2015 00:25:23 +0900 Subject: SocketRecvBuffer: Eliminate memmove Since we don't try to read into buffer if buffer is not empty, we don't have to memmove things. This commit mostly rewrites SocketRecvBuffer. --- src/HttpServer.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/HttpServer.cc') diff --git a/src/HttpServer.cc b/src/HttpServer.cc index cac0cc7f..455f8afe 100644 --- a/src/HttpServer.cc +++ b/src/HttpServer.cc @@ -142,7 +142,7 @@ bool HttpServer::receiveRequest() lastRequestHeader_ = headerProcessor_->getResult(); A2_LOG_INFO(fmt("HTTP Server received request\n%s", headerProcessor_->getHeaderString().c_str())); - socketRecvBuffer_->shiftBuffer(headerProcessor_->getLastBytesProcessed()); + socketRecvBuffer_->drain(headerProcessor_->getLastBytesProcessed()); bodyConsumed_ = 0; if(setupResponseRecv() < 0) { A2_LOG_INFO("Request path is invaild. Ignore the request body."); @@ -175,7 +175,7 @@ bool HttpServer::receiveRequest() } return true; } else { - socketRecvBuffer_->shiftBuffer(headerProcessor_->getLastBytesProcessed()); + socketRecvBuffer_->drain(headerProcessor_->getLastBytesProcessed()); return false; } } @@ -197,7 +197,7 @@ bool HttpServer::receiveBody() if(lastBody_) { lastBody_->writeData(socketRecvBuffer_->getBuffer(), length, 0); } - socketRecvBuffer_->shiftBuffer(length); + socketRecvBuffer_->drain(length); bodyConsumed_ += length; return lastContentLength_ == bodyConsumed_; } -- cgit