1 // ANNA - Anna is Not Nothingness Anymore //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
12 #include <anna/config/defines.hpp>
13 #include <anna/core/functions.hpp>
14 #include <anna/core/tracing/Logger.hpp>
16 #include <anna/http/internal/EncodedBlock.hpp>
22 * Esta clase va guardando los trozos del mensaje que recibe, hasta que llega el momento
23 * en que considera que el Bloque está comnpleto, y entonces lo pasa al bloque principal.
25 http::EncodedBlock::State::_v http::EncodedBlock::append(const DataBlock& chunk)
27 const int left = a_expectedSize - a_chunk.getSize();
28 State::_v result(State::Incomplete);
30 if(left >= chunk.getSize()) {
33 DataBlock tmp(chunk.getData(), left, false);
37 if(a_chunk.getSize() == a_expectedSize) {
39 string msg("http::EncodedBlock | ");
40 msg += anna::functions::asString(chunk, 24);
41 Logger::debug(msg, ANNA_FILE_LOCATION);
46 result = State::Completed;