X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=example%2Fhttp%2Fwims20XClient%2Fmain.cpp;h=1169e8ae137ec1e0a4ef4109c086b5b4e1256f04;hb=5a6cba5fde2b2f538a7515f8293cc0a8d9589dfa;hp=6cf7710794c8b0bfe442fd31d656829dcf8fac18;hpb=4e12ac57e93c052f716a6305ad8fc099c45899d1;p=anna.git diff --git a/example/http/wims20XClient/main.cpp b/example/http/wims20XClient/main.cpp index 6cf7710..1169e8a 100644 --- a/example/http/wims20XClient/main.cpp +++ b/example/http/wims20XClient/main.cpp @@ -1,37 +1,9 @@ -// ANNA - Anna is Not 'N' 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 // /** @@ -69,7 +41,7 @@ static const Millisecond Resolution(250); static const Millisecond Period(500); static const Millisecond OneSecond(1000); -class Sender : public timex::Clock { +class Sender : public anna::timex::Clock { public: Sender () : Clock ("Sender", Period), a_messageByTick (0), @@ -81,10 +53,10 @@ public: a_httpRequest.setMethod (http::Method::Type::Get); } - void setMessageBySecond (const int messageBySecond) throw () { a_messageByTick = messageBySecond / (OneSecond / Period); } - void setRequest (http::wims20::ClientSide* request) throw () { a_request = request; } + void setMessageBySecond (const int messageBySecond) { a_messageByTick = messageBySecond / (OneSecond / Period); } + void setRequest (http::wims20::ClientSide* request) { a_request = request; } - int getTxMessageCounter () const throw () { return a_txMessageCounter; } + int getTxMessageCounter () const { return a_txMessageCounter; } private: int a_messageByTick; @@ -95,7 +67,7 @@ private: http::wims20::ClientSide* a_request; /* Se invoca 4 veces por segundo */ - bool tick () throw (RuntimeException); + bool tick () noexcept(false); }; class MyHandler : public http::Handler { @@ -105,20 +77,20 @@ public: private: xml::DocumentMemory a_xmlResponse; - void evRequest (ClientSocket&, const http::Request&) throw (RuntimeException) {;} - void evResponse (ClientSocket&, const http::Response&) throw (RuntimeException); + void evRequest (ClientSocket&, const http::Request&) noexcept(false) {;} + void evResponse (ClientSocket&, const http::Response&) noexcept(false); -// static bool isOk (const test::Response& response) throw (); +// static bool isOk (const test::Response& response) ; }; class MyCommunicator : public comm::Communicator { public: MyCommunicator () : comm::Communicator (), a_avgResponseTime (0), a_rxMessageCounter (0) {;} - void count (const Millisecond delay) throw (RuntimeException); + void count (const Millisecond delay) noexcept(false); // Sustituye la redefinición de los siguientes métodos - void eventBreakConnection (const comm::ClientSocket&) throw (); + void eventBreakConnection (const comm::ClientSocket&) ; using comm::Communicator::eventBreakConnection; private: @@ -126,25 +98,25 @@ private: int a_rxMessageCounter; MyHandler a_httpHandler; - void eventReceiveMessage (ClientSocket&, const Message&) throw (RuntimeException); + void eventReceiveMessage (ClientSocket&, const Message&) noexcept(false); }; class HeavyWIMS20Client : public anna::comm::Application { public: HeavyWIMS20Client (); - Server* getServer () const throw () { return a_server; } - const Sender* getSender () const throw () { return &a_sender; } + Server* getServer () const { return a_server; } + const Sender* getSender () const { return &a_sender; } private: MyCommunicator a_communicator; - timex::Engine a_timeController; + anna::timex::Engine a_timeController; Sender a_sender; Server* a_server; http::wims20::ClientSide* a_request; - void initialize () throw (RuntimeException); - void run () throw (RuntimeException); + void initialize () noexcept(false); + void run () noexcept(false); }; using namespace std; @@ -195,7 +167,7 @@ HeavyWIMS20Client::HeavyWIMS20Client () : } void HeavyWIMS20Client::initialize () - throw (RuntimeException) + noexcept(false) { CommandLine& cl (CommandLine::instantiate ()); @@ -224,7 +196,7 @@ void HeavyWIMS20Client::initialize () } void HeavyWIMS20Client::run () - throw (RuntimeException) + noexcept(false) { a_timeController.activate (a_sender); @@ -232,7 +204,7 @@ void HeavyWIMS20Client::run () } void MyCommunicator::eventReceiveMessage (ClientSocket& clientSocket, const Message& message) - throw (RuntimeException) + noexcept(false) { LOGMETHOD (TraceMethod tm ("MyCommunicator", "eventReceiveMessage", ANNA_FILE_LOCATION)); @@ -243,7 +215,7 @@ void MyCommunicator::eventReceiveMessage (ClientSocket& clientSocket, const Mess } void MyCommunicator::count (const Millisecond delay) - throw (RuntimeException) + noexcept(false) { Guard guard (this, "MyCommunicator::count"); @@ -252,7 +224,7 @@ void MyCommunicator::count (const Millisecond delay) } void MyCommunicator::eventBreakConnection (const ClientSocket& clientSocket) - throw () + { if (a_rxMessageCounter == 0) { LOGWARNING ( @@ -279,7 +251,7 @@ void MyCommunicator::eventBreakConnection (const ClientSocket& clientSocket) } bool Sender::tick () - throw (RuntimeException) + noexcept(false) { Server* server = static_cast (anna::app::functions::getApp ()).getServer (); Communicator* communicator = anna::app::functions::component (ANNA_FILE_LOCATION); @@ -312,7 +284,7 @@ bool Sender::tick () } void MyHandler::evResponse (ClientSocket& clientSocket, const http::Response& response) - throw (RuntimeException) + noexcept(false) { TraceMethod tm ("MyHandler", "evResponse", ANNA_FILE_LOCATION);