X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fcomm%2FrServer%2Fmain.cpp;h=768fc840b4207f2d6fdb8093172068c5e19da032;hb=5a6cba5fde2b2f538a7515f8293cc0a8d9589dfa;hp=074ca6169726d0db7d38f3517bebbadfd7ad09a9;hpb=3e258840b15577cb8bda3cdedd0b9b88e16404b3;p=anna.git diff --git a/example/comm/rServer/main.cpp b/example/comm/rServer/main.cpp index 074ca61..768fc84 100644 --- a/example/comm/rServer/main.cpp +++ b/example/comm/rServer/main.cpp @@ -1,37 +1,9 @@ -// ANNA - Anna is Not Nothingness Anymore -// -// (c) Copyright 2005-2014 Eduardo Ramos Testillano & Francisco Ruiz Rayo -// -// https://bitbucket.org/testillano/anna -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -// Authors: eduardo.ramos.testillano@gmail.com -// cisco.tierra@gmail.com +// ANNA - Anna is Not Nothingness Anymore // +// // +// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo // +// // +// See project site at http://redmine.teslayout.com/projects/anna-suite // +// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE // /* @@ -71,7 +43,8 @@ public: class MyReceiver : public Receiver { public: - static const char* className () throw () { return "MyReceiver"; } + virtual ~MyReceiver() {;} + static const char* className () { return "MyReceiver"; } private: Request a_request; @@ -79,8 +52,8 @@ private: MyCommunicator* a_communicator; MyReceiver () : Receiver ("MyReceiver") { ; } - void initialize () throw (RuntimeException); - void apply (comm::ClientSocket &, const Message&) throw (RuntimeException); + void initialize () noexcept(false); + void apply (comm::ClientSocket &, const Message&) noexcept(false); friend class Allocator ; }; @@ -95,10 +68,10 @@ private: ReceiverFactoryImpl a_receiverFactory; comm::ServerSocket* a_serverSocket; - void initialize () throw (RuntimeException); - void run () throw (RuntimeException); - xml::Node* asXML (xml::Node* app) const throw (); - void signalTerminate () throw (RuntimeException); + void initialize () noexcept(false); + void run () noexcept(false); + xml::Node* asXML (xml::Node* app) const ; + void signalTerminate () noexcept(false); }; using namespace std; @@ -139,20 +112,20 @@ ArithmeticServer::ArithmeticServer () : commandLine.add ("p", CommandLine::Argument::Mandatory, "Puerto en el que atender peticiones"); commandLine.add ("a", CommandLine::Argument::Mandatory, "Direccin IP en la que atender"); commandLine.add ("d", CommandLine::Argument::Mandatory, "Retardo aplicado a la contestacio"); - commandLine.add ("maxpending", CommandLine::Argument::Optional, "Nº máximo de bytes en la cola de entrada"); + commandLine.add ("maxpending", CommandLine::Argument::Optional, "Numero maximo de bytes en la cola de entrada"); commandLine.add ("limit", CommandLine::Argument::Mandatory, "% de ocupacion que permitimos"); - commandLine.add ("r", CommandLine::Argument::Optional, "Indicador de reuso de direccin", false); + commandLine.add ("r", CommandLine::Argument::Optional, "Indicador de reuso de direccion", false); commandLine.add ("n", CommandLine::Argument::Optional, "Numero de mensajes a servir", true); commandLine.add ("trace", CommandLine::Argument::Optional, "Nivel de trazas (debug,warning, error,...)"); commandLine.add ("clone", CommandLine::Argument::Optional, "Aplica el metodo de clonado en el tratamiento de mensajes", false); - commandLine.add ("chunksize", CommandLine::Argument::Optional, "Tamaño del chunk de lectura"); + commandLine.add ("chunksize", CommandLine::Argument::Optional, "Tamano del chunk de lectura"); } //----------------------------------------------------------------------------------------- // Inicializa el servidor de sockets. //----------------------------------------------------------------------------------------- void ArithmeticServer::initialize () - throw (RuntimeException) + noexcept(false) { LOGMETHOD (TraceMethod tm ("ArithmeticServer", "initialize", ANNA_FILE_LOCATION)); @@ -181,7 +154,7 @@ void ArithmeticServer::initialize () // Cuando hay un nuevo mensaje invocar�a Communicator::eventReceiveMessage //----------------------------------------------------------------------------------------- void ArithmeticServer::run () - throw (RuntimeException) + noexcept(false) { LOGMETHOD (TraceMethod tm ("ArithmeticServer", "run", ANNA_FILE_LOCATION)); @@ -204,7 +177,7 @@ void ArithmeticServer::run () } xml::Node* ArithmeticServer::asXML (xml::Node* app) const - throw () + { xml::Node* node = app::Application::asXML (app); @@ -215,20 +188,20 @@ xml::Node* ArithmeticServer::asXML (xml::Node* app) const } void ArithmeticServer::signalTerminate () - throw (RuntimeException) + noexcept(false) { a_communicator->terminate (); comm::Application::signalTerminate (); } void MyReceiver::initialize () - throw (RuntimeException) + noexcept(false) { a_communicator = app::functions::component (ANNA_FILE_LOCATION); } void MyReceiver::apply (ClientSocket& clientSocket, const Message& message) - throw (RuntimeException) + noexcept(false) { LOGMETHOD (TraceMethod tm ("MyReceiver", "apply", ANNA_FILE_LOCATION));