X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=source%2Fcomm%2FCongestionController.cpp;h=7fc6209f6a400022c89b01a744babd5710518962;hb=5a6cba5fde2b2f538a7515f8293cc0a8d9589dfa;hp=68fb0e399d2f647bb04656fdcff958658a169f5e;hpb=3e258840b15577cb8bda3cdedd0b9b88e16404b3;p=anna.git diff --git a/source/comm/CongestionController.cpp b/source/comm/CongestionController.cpp index 68fb0e3..7fc6209 100644 --- a/source/comm/CongestionController.cpp +++ b/source/comm/CongestionController.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 // #include @@ -81,7 +53,7 @@ comm::CongestionController::CongestionController() : } void comm::CongestionController::setLimit(const int limit) -throw() { +{ Guard guard(a_mutex, "comm::CongestionController (setLimit)"); if(limit < 0 || limit > 100) { @@ -115,7 +87,7 @@ throw() { } void comm::CongestionController::setMaxPendingBytes(const int maxPendingBytes) -throw(RuntimeException) { +noexcept(false) { if(maxPendingBytes == UnusedPendingBytes) { a_maxPendingBytes = UnusedPendingBytes; return; @@ -140,7 +112,7 @@ throw(RuntimeException) { * por su manejador asociado. */ comm::CongestionController::Advice::_v comm::CongestionController::getAdvice(const ClientSocket& clientSocket) -throw() { +{ Guard guard(a_mutex, "comm::CongestionController::getAdvice"); if(a_limit == 0) { @@ -233,13 +205,13 @@ throw() { } void comm::CongestionController::incrementIncomingSocket() -throw(RuntimeException) { +noexcept(false) { Guard guard(a_mutex, "comm::CongestionController::incrementIncomingSocket"); a_incomingSocketCounter ++; } void comm::CongestionController::decrementIncomingSocket() -throw(RuntimeException) { +noexcept(false) { if(a_incomingSocketCounter == 0) return; @@ -265,7 +237,7 @@ throw(RuntimeException) { } int comm::CongestionController::calculeWorkload(const ClientSocket& clientSocket) const -throw() { +{ int maxSize; if(a_maxPendingBytes == UnusedPendingBytes) @@ -284,7 +256,7 @@ throw() { } xml::Node* comm::CongestionController::asXML(xml::Node* parent) const -throw() { +{ static const char* modetxt [] = { "Auto", "Local", "Global" }; xml::Node* result = parent->createChild("comm.CongestionController"); result->createAttribute("Limit", a_limit); @@ -323,7 +295,7 @@ throw() { } comm::CongestionController::Workload comm::CongestionController::getAccumulatedWorkload() const -throw() { +{ Workload result; const Millisecond now = functions::millisecond(); @@ -354,7 +326,7 @@ throw() { comm::CongestionController::Workload comm::CongestionController::getCurrentWorkload(const comm::ClientSocket& clientSocket) const -throw() { +{ Workload result; result.second = calculeWorkload(clientSocket);