X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Ffilter_load_balance.cpp;h=a534f601587be9a6e6e0d14f1495c056b7e7e965;hb=665559cbc22546e8df69be33a7d492294cab9fb1;hp=3783ee18345a569d8af0c8836097bb0302c23a93;hpb=3fec53093a59fdbda2b0b4503afc351f9032b9e7;p=metaproxy-moved-to-github.git diff --git a/src/filter_load_balance.cpp b/src/filter_load_balance.cpp index 3783ee1..a534f60 100644 --- a/src/filter_load_balance.cpp +++ b/src/filter_load_balance.cpp @@ -1,8 +1,20 @@ -/* $Id: filter_load_balance.cpp,v 1.4 2007-01-04 13:03:17 marc Exp $ - Copyright (c) 2005-2006, Index Data. +/* This file is part of Metaproxy. + Copyright (C) 2005-2008 Index Data - See the LICENSE file for details - */ +Metaproxy is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +Metaproxy is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ #include "config.hpp" #include "session.hpp" @@ -11,12 +23,17 @@ #include "filter_load_balance.hpp" #include "util.hpp" + #include -#include #include -#include +// remove max macro if already defined (defined later in ) +#ifdef max +#undef max +#endif + +//#include #include #include #include @@ -54,11 +71,11 @@ namespace metaproxy_1 { unsigned int deads; unsigned int cost() { unsigned int c = sessions + packages + deads; - std::cout << "stats c:" << c - << " s:" << sessions - << " p:" << packages - << " d:" << deads - <<"\n"; + //std::cout << "stats c:" << c + // << " s:" << sessions + // << " p:" << packages + // << " d:" << deads + // <<"\n"; return c; } }; @@ -81,7 +98,7 @@ yf::LoadBalance::~LoadBalance() { // must have a destructor because of boost::scoped_ptr } -void yf::LoadBalance::configure(const xmlNode *xmlnode) +void yf::LoadBalance::configure(const xmlNode *xmlnode, bool test_only) { m_p->configure(xmlnode); } @@ -168,7 +185,7 @@ void yf::LoadBalance::Impl::process(mp::Package &package) // copying new target into init package mp::util::set_vhost_otherinfo(&(org_init->otherInfo), - odr_en, target); + odr_en, target, 1); package.request() = gdu_req; } @@ -227,14 +244,6 @@ void yf::LoadBalance::Impl::process(mp::Package &package) } } -// getting timestamp for receiving of package -//boost::posix_time::ptime receive_time -// = boost::posix_time::microsec_clock::local_time(); -// //<< receive_time << " " -// //<< to_iso_string(receive_time) << " " -//<< to_iso_extended_string(receive_time) << " " - - // statistic manipulating functions, void yf::LoadBalance::Impl::add_dead(unsigned long session_id){ @@ -247,8 +256,8 @@ void yf::LoadBalance::Impl::add_dead(unsigned long session_id){ if (itarg != m_target_stat.end() && itarg->second.deads < std::numeric_limits::max()){ itarg->second.deads += 1; - std::cout << "add_dead " << session_id << " " << target - << " d:" << itarg->second.deads << "\n"; + // std:.cout << "add_dead " << session_id << " " << target + // << " d:" << itarg->second.deads << "\n"; } } }; @@ -268,8 +277,8 @@ void yf::LoadBalance::Impl::add_package(unsigned long session_id){ && itarg->second.packages < std::numeric_limits::max()){ itarg->second.packages += 1; - std::cout << "add_package " << session_id << " " << target - << " p:" << itarg->second.packages << "\n"; + // std:.cout << "add_package " << session_id << " " << target + // << " p:" << itarg->second.packages << "\n"; } } }; @@ -283,8 +292,8 @@ void yf::LoadBalance::Impl::remove_package(unsigned long session_id){ if (itarg != m_target_stat.end() && itarg->second.packages > 0){ itarg->second.packages -= 1; - std::cout << "remove_package " << session_id << " " << target - << " p:" << itarg->second.packages << "\n"; + // std:.cout << "remove_package " << session_id << " " << target + // << " p:" << itarg->second.packages << "\n"; } } }; @@ -308,14 +317,14 @@ void yf::LoadBalance::Impl::add_session(unsigned long session_id, stat.packages = 0; // no idea why the defaut constructor TargetStat() stat.deads = 0; // is not initializig this correctly to zero ?? m_target_stat.insert(std::make_pair(target, stat)); - std::cout << "add_session " << session_id << " " << target - << " s:1\n"; + // std:.cout << "add_session " << session_id << " " << target + // << " s:1\n"; } else if (itarg->second.sessions < std::numeric_limits::max()) { itarg->second.sessions += 1; - std::cout << "add_session " << session_id << " " << target - << " s:" << itarg->second.sessions << "\n"; + // std:.cout << "add_session " << session_id << " " << target + // << " s:" << itarg->second.sessions << "\n"; } }; @@ -343,8 +352,8 @@ void yf::LoadBalance::Impl::remove_session(unsigned long session_id){ if (itarg->second.sessions > 0) itarg->second.sessions -= 1; - std::cout << "remove_session " << session_id << " " << target - << " s:" << itarg->second.sessions << "\n"; + // std:.cout << "remove_session " << session_id << " " << target + // << " s:" << itarg->second.sessions << "\n"; // clearing empty sessions and targets if (itarg->second.sessions == 0 && itarg->second.deads == 0 ){ @@ -418,8 +427,9 @@ extern "C" { /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil - * c-file-style: "stroustrup" * End: * vim: shiftwidth=4 tabstop=8 expandtab */ +