X-Git-Url: http://developer.intra2net.com/git/?p=libt2n;a=blobdiff_plain;f=src%2Fcommand_server.cpp;h=3bfc0e3b542321581238702009a8e8661a2773f3;hp=15a19a75552b449a01785bb9ac3a2732777c56c3;hb=e453407db5951aa7f504282ea82d1ca1f19d22fb;hpb=7087e18783f91d2b889e880462d1d1da24831c28 diff --git a/src/command_server.cpp b/src/command_server.cpp index 15a19a7..3bfc0e3 100644 --- a/src/command_server.cpp +++ b/src/command_server.cpp @@ -26,10 +26,10 @@ #include #include #include -#include #include "command_server.hxx" #include "container.hxx" +#include "log.hxx" using namespace std; @@ -39,6 +39,8 @@ namespace libt2n /// handle a command including deserialization and answering void command_server::handle_packet(const std::string& packet, server_connection* conn) { + OBJLOGSTREAM(s,debug,"handling packet from connection " << conn->get_id()); + // deserialize packet istringstream ifs(packet); boost::archive::binary_iarchive ia(ifs); @@ -47,6 +49,14 @@ void command_server::handle_packet(const std::string& packet, server_connection* // TODO: catch ia >> ccont; + std::ostream* ostr; + if ((ostr=s.get_logstream(fulldebug))!=NULL) + { + (*ostr) << "decoded packet data: " << std::endl; + boost::archive::xml_oarchive xo(*ostr); + xo << BOOST_SERIALIZATION_NVP(ccont); + } + // TODO: cast to command subclass (template) command *cmd=ccont.get_command(); @@ -72,6 +82,13 @@ void command_server::handle_packet(const std::string& packet, server_connection* // TODO: catch oa << res; + if ((ostr=s.get_logstream(fulldebug))!=NULL) + { + (*ostr) << "returning result, decoded data: " << std::endl; + boost::archive::xml_oarchive xo(*ostr); + xo << BOOST_SERIALIZATION_NVP(res); + } + conn->write(ofs.str()); }