summaryrefslogtreecommitdiff
path: root/src/net/bandwidth.cpp
diff options
context:
space:
mode:
authorDavid Athay <ko2fan@gmail.com>2008-11-20 14:52:22 +0000
committerDavid Athay <ko2fan@gmail.com>2008-11-20 14:52:22 +0000
commit1a6f01a13ab9267fd7de46592bbb3107311f8709 (patch)
treebeb960d2439bafae4b0c4835777241a33fba9fcb /src/net/bandwidth.cpp
parent8481413ea17177945d3d280b1518eb6f1f25cd5d (diff)
downloadmanaserv-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.cpp53
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;
+}
+