diff options
author | David Athay <ko2fan@gmail.com> | 2008-11-20 14:52:22 +0000 |
---|---|---|
committer | David Athay <ko2fan@gmail.com> | 2008-11-20 14:52:22 +0000 |
commit | 1a6f01a13ab9267fd7de46592bbb3107311f8709 (patch) | |
tree | beb960d2439bafae4b0c4835777241a33fba9fcb /src/net/bandwidth.cpp | |
parent | 8481413ea17177945d3d280b1518eb6f1f25cd5d (diff) | |
download | manaserv-1a6f01a13ab9267fd7de46592bbb3107311f8709.tar.gz manaserv-1a6f01a13ab9267fd7de46592bbb3107311f8709.tar.bz2 manaserv-1a6f01a13ab9267fd7de46592bbb3107311f8709.tar.xz manaserv-1a6f01a13ab9267fd7de46592bbb3107311f8709.zip |
Made Bandwidth Monitor Global
Diffstat (limited to 'src/net/bandwidth.cpp')
-rw-r--r-- | src/net/bandwidth.cpp | 53 |
1 files changed, 44 insertions, 9 deletions
diff --git a/src/net/bandwidth.cpp b/src/net/bandwidth.cpp index 5fa580ee..c7b6f8e3 100644 --- a/src/net/bandwidth.cpp +++ b/src/net/bandwidth.cpp @@ -21,24 +21,59 @@ #include "bandwidth.hpp" +#include "netcomputer.hpp" + BandwidthMonitor::BandwidthMonitor(): - mAmountOutput(0), - mAmountInput(0) + mAmountServerOutput(0), + mAmountServerInput(0), + mAmountClientOutput(0), + mAmountClientInput(0) { } -void BandwidthMonitor::increaseOutput(int size) +void BandwidthMonitor::increaseInterServerOutput(int size) { - mAmountOutput += size; + mAmountServerOutput += size; } -void BandwidthMonitor::increaseInput(int size) +void BandwidthMonitor::increaseInterServerInput(int size) { - mAmountInput += size; + mAmountServerInput += size; } -void BandwidthMonitor::reset() +void BandwidthMonitor::increaseClientOutput(NetComputer *nc, int size) { - mAmountOutput = 0; - mAmountInput = 0; + mAmountClientOutput += size; + // look for an existing client stored + ClientBandwidth::iterator itr = mClientBandwidth.find(nc); + + // if there isnt one, create one + if (itr == mClientBandwidth.end()) + { + std::pair<ClientBandwidth::iterator, bool> retItr; + retItr = mClientBandwidth.insert(std::pair<NetComputer*, std::pair<int, int> >(nc, std::pair<int, int>(0, 0))); + itr = retItr.first; + } + + itr->second.first += size; + } + +void BandwidthMonitor::increaseClientInput(NetComputer *nc, int size) +{ + mAmountClientInput += size; + + // look for an existing client stored + ClientBandwidth::iterator itr = mClientBandwidth.find(nc); + + // if there isnt one, create it + if (itr == mClientBandwidth.end()) + { + std::pair<ClientBandwidth::iterator, bool> retItr; + retItr = mClientBandwidth.insert(std::pair<NetComputer*, std::pair<int, int> >(nc, std::pair<int, int>(0, 0))); + itr = retItr.first; + } + + itr->second.second += size; +} + |