From 3da664236c4814fe0afa0b18fdecc6d245aab48b Mon Sep 17 00:00:00 2001 From: Dennis Luxen Date: Tue, 12 Nov 2013 17:39:24 -0500 Subject: [PATCH] reverting premature revert --- Server/BasicDatastructures.h | 12 ++++++++---- Server/Connection.h | 12 +++++------- cmake/FindSTXXL.cmake | 2 +- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/Server/BasicDatastructures.h b/Server/BasicDatastructures.h index 9bd85276f..90dad8c3f 100644 --- a/Server/BasicDatastructures.h +++ b/Server/BasicDatastructures.h @@ -80,8 +80,8 @@ struct Reply { } status; std::vector
headers; - void ToBuffers(std::vector&); - void HeadersToBuffers(std::vector&); + std::vector toBuffers(); + std::vector HeaderstoBuffers(); std::string content; static Reply stockReply(status_type status); void setSize(const unsigned size) { @@ -116,7 +116,8 @@ std::string ToString(Reply::status_type status) { } } -void Reply::ToBuffers( std::vector & buffers ){ +std::vector Reply::toBuffers(){ + std::vector buffers; buffers.push_back(ToBuffer(status)); for (std::size_t i = 0; i < headers.size(); ++i) { Header& h = headers[i]; @@ -127,9 +128,11 @@ void Reply::ToBuffers( std::vector & buffers ){ } buffers.push_back(boost::asio::buffer(crlf)); buffers.push_back(boost::asio::buffer(content)); + return buffers; } -void Reply::HeadersToBuffers( std::vector& buffers ){ +std::vector Reply::HeaderstoBuffers(){ + std::vector buffers; buffers.push_back(ToBuffer(status)); for (std::size_t i = 0; i < headers.size(); ++i) { Header& h = headers[i]; @@ -139,6 +142,7 @@ void Reply::HeadersToBuffers( std::vector& buffers ){ buffers.push_back(boost::asio::buffer(crlf)); } buffers.push_back(boost::asio::buffer(crlf)); + return buffers; } Reply Reply::stockReply(Reply::status_type status) { diff --git a/Server/Connection.h b/Server/Connection.h index 9ec19b63a..d5a3cfa5c 100644 --- a/Server/Connection.h +++ b/Server/Connection.h @@ -87,13 +87,13 @@ private: &compression_type ); - std::vector output_buffer; if( result ) { request.endpoint = TCP_socket.remote_endpoint().address(); request_handler.handle_request(request, reply); Header compression_header; std::vector compressed_output; + std::vector output_buffer; switch(compression_type) { case deflateRFC1951: compression_header.name = "Content-Encoding"; @@ -109,7 +109,7 @@ private: compression_type ); reply.setSize(compressed_output.size()); - reply.HeadersToBuffers(output_buffer); + output_buffer = reply.HeaderstoBuffers(); output_buffer.push_back( boost::asio::buffer(compressed_output) ); @@ -139,7 +139,7 @@ private: compression_type ); reply.setSize(compressed_output.size()); - reply.HeadersToBuffers(output_buffer); + output_buffer = reply.HeaderstoBuffers(); output_buffer.push_back( boost::asio::buffer(compressed_output) ); @@ -156,10 +156,9 @@ private: ); break; case noCompression: - reply.HeadersToBuffers(output_buffer); boost::asio::async_write( TCP_socket, - output_buffer, + reply.toBuffers(), strand.wrap( boost::bind( &Connection::handle_write, @@ -172,10 +171,9 @@ private: } } else if (!result) { reply = Reply::stockReply(Reply::badRequest); - reply.HeadersToBuffers(output_buffer); boost::asio::async_write( TCP_socket, - output_buffer, + reply.toBuffers(), strand.wrap( boost::bind( &Connection::handle_write, diff --git a/cmake/FindSTXXL.cmake b/cmake/FindSTXXL.cmake index 52d508c05..76a2722b0 100644 --- a/cmake/FindSTXXL.cmake +++ b/cmake/FindSTXXL.cmake @@ -48,4 +48,4 @@ IF( NOT STXXL_FIND_QUIETLY ) ENDIF() ENDIF() -MARK_AS_ADVANCED(STXXL_INCLUDE_DIR STXXL_LIBRARY) +MARK_AS_ADVANCED(STXXL_INCLUDE_DIR STXXL_LIBRARY)