X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fcomm%2FrrClient%2Fmain.cpp;h=9a1ba5f4dffdb7797e8c221525071ff0355d5b60;hb=5a6cba5fde2b2f538a7515f8293cc0a8d9589dfa;hp=f8b5630f9880ba9da89f8a51ec83ceff4aa79454;hpb=3e258840b15577cb8bda3cdedd0b9b88e16404b3;p=anna.git diff --git a/example/comm/rrClient/main.cpp b/example/comm/rrClient/main.cpp index f8b5630..9a1ba5f 100644 --- a/example/comm/rrClient/main.cpp +++ b/example/comm/rrClient/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 // /** @@ -57,7 +29,7 @@ #include #include -class Sender : public timex::Clock { +class Sender : public anna::timex::Clock { public: Sender () : Clock ("Sender", (Millisecond)1000), a_messageBySecond (0), @@ -67,9 +39,9 @@ public: a_txMessageCounter (0) {;} - void setMessageBySecond (const int messageBySecond) throw () { a_messageBySecond = messageBySecond; } + void setMessageBySecond (const int messageBySecond) { a_messageBySecond = messageBySecond; } - int getTxMessageCounter () const throw () { return a_txMessageCounter; } + int getTxMessageCounter () const { return a_txMessageCounter; } private: int a_messageBySecond; @@ -78,7 +50,7 @@ private: int a_txMessageCounter; ThreadData a_requests; - bool tick () throw (RuntimeException); + bool tick () noexcept(false); }; class MyCommunicator : public Communicator { @@ -86,38 +58,40 @@ public: MyCommunicator () : Communicator (), a_avgResponseTime (0), a_rxMessageCounter (0), a_responses ("Response") {;} private: + using Communicator::eventBreakConnection; + ThreadData a_responses; int a_avgResponseTime; int a_rxMessageCounter; - void eventReceiveMessage (ClientSocket &, const Message&) throw (RuntimeException); + void eventReceiveMessage (ClientSocket &, const Message&) noexcept(false); /* - void eventBreakConnection (const ClientSocket&) throw (); + void eventBreakConnection (const ClientSocket&) ; - void eventBreakConnection (Server* server) throw () { + void eventBreakConnection (Server* server) { comm::Communicator::eventBreakConnection (server); } */ - void eventBreakConnection (const Service* service) throw (); + void eventBreakConnection (const Service* service) ; - static bool isOk (const test::Response& response) throw (); + static bool isOk (const test::Response& response) ; }; class RRClient : public anna::comm::Application { public: RRClient (); - Service* getService () const throw () { return a_service; } - const Sender* getSender () const throw () { return &a_sender; } + Service* getService () const { return a_service; } + const Sender* getSender () const { return &a_sender; } private: MyCommunicator a_communicator; - timex::Engine a_timeController; + anna::timex::Engine a_timeController; Sender a_sender; Service* a_service; - void initialize () throw (RuntimeException); - void run () throw (RuntimeException); + void initialize () noexcept(false); + void run () noexcept(false); }; using namespace std; @@ -162,7 +136,7 @@ RRClient::RRClient () : } void RRClient::initialize () - throw (RuntimeException) + noexcept(false) { CommandLine& cl (CommandLine::instantiate ()); @@ -186,7 +160,7 @@ void RRClient::initialize () } void RRClient::run () - throw (RuntimeException) + noexcept(false) { a_timeController.activate (a_sender); @@ -194,7 +168,7 @@ void RRClient::run () } void MyCommunicator::eventReceiveMessage (ClientSocket&, const Message& message) - throw (RuntimeException) + noexcept(false) { LOGMETHOD (TraceMethod tm ("MyCommunicator", "eventReceiveMessage", ANNA_FILE_LOCATION)); @@ -229,7 +203,7 @@ void MyCommunicator::eventReceiveMessage (ClientSocket&, const Message& message) } void MyCommunicator::eventBreakConnection (const Service* service) - throw () + { LOGMETHOD (TraceMethod tm ("MyCommunicator", "eventBreakConnection", ANNA_FILE_LOCATION)); @@ -258,7 +232,7 @@ void MyCommunicator::eventBreakConnection (const Service* service) } bool MyCommunicator::isOk (const test::Response& response) - throw () + { if (response.op != '+' && response.op != '-' && response.op != '*' && response.op != '/') return false; @@ -284,7 +258,7 @@ bool MyCommunicator::isOk (const test::Response& response) } bool Sender::tick () - throw (RuntimeException) + noexcept(false) { LOGMETHOD (TraceMethod tm (Logger::Local7, "Sender", "tick", ANNA_FILE_LOCATION)); @@ -292,7 +266,7 @@ bool Sender::tick () Communicator* communicator = anna::app::functions::component (ANNA_FILE_LOCATION); if (a_messageBySecond == 0) - throw RuntimeException ("Hay que indicar el nÂș de mensajes por segundo", ANNA_FILE_LOCATION); + throw RuntimeException ("Hay que indicar el numero de mensajes por segundo", ANNA_FILE_LOCATION); if (a_errorCounter > 100) {