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 //
9 #include <anna/comm/DirectTransport.hpp>
10 #include <anna/comm/Message.hpp>
14 comm::TransportFactoryImpl <comm::DirectTransport> comm::DirectTransport::st_transportFactory;
16 comm::DirectTransport::DirectTransport() :
18 setInputMessage(new Message());
21 comm::DirectTransport::~DirectTransport() {
22 delete getInputMessage();
25 //-------------------------------------------------------------------------------------------
26 // Recordar que 'message' esta alojado en la memoria intermedia que el comm::ClientSocket
27 // tiene reservada para ir guardando los mensajes en proceso => no es una copia si no una
28 // referencia un puntero.
30 // (1) Transfiere la referencia de message al cuerpo del mensaje. Ojo!! tampoco hace copia.
31 //-------------------------------------------------------------------------------------------
32 const comm::Message* comm::DirectTransport::decode(const DataBlock& data)
33 throw(RuntimeException) {
34 return getInputMessage()->setBody(data);
37 const DataBlock& comm::DirectTransport::code(comm::Message& message)
38 throw(RuntimeException) {
39 return a_forCode = message.code();