#include #include "main.hpp" #include "sol/sol_context.hpp" #include "sol/sol_manager.hpp" #include "sol_cmds.hpp" namespace sol { namespace command { using namespace phosphor::logging; std::vector payloadHandler(std::vector& inPayload, const message::Handler& handler) { auto request = reinterpret_cast(inPayload.data()); auto solDataSize = inPayload.size() - sizeof(Payload); Buffer charData(solDataSize); if( solDataSize > 0) { std::copy_n(inPayload.data() + sizeof(Payload), solDataSize, charData.begin()); } try { auto& context = std::get(singletonPool). getContext(handler.sessionID); context.processInboundPayload(request->packetSeqNum, request->packetAckSeqNum, request->acceptedCharCount, request->inOperation.ack, charData); } catch (std::exception& e) { log(e.what()); return std::vector(); } return std::vector(); } } // namespace command } // namespace sol