summaryrefslogtreecommitdiff
path: root/lib/server/SocketStream.cpp
diff options
context:
space:
mode:
authorBen Summers <ben@fluffy.co.uk>2006-02-13 13:35:51 +0000
committerBen Summers <ben@fluffy.co.uk>2006-02-13 13:35:51 +0000
commitab0b336a656d168d132f685ead24c0c18df4a612 (patch)
tree4bfa00b9e5c35200c5439bcdf8ca754107e11c62 /lib/server/SocketStream.cpp
parent830aa82e44381c85d8486e46de7ae0e26830457e (diff)
Bandwidth usage logging patch from Pascal Lalonde <plalonde@overnet.qc.ca>, with minor change to exception handling
Diffstat (limited to 'lib/server/SocketStream.cpp')
-rw-r--r--lib/server/SocketStream.cpp17
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/server/SocketStream.cpp b/lib/server/SocketStream.cpp
index 2c704b8b..aa3825bf 100644
--- a/lib/server/SocketStream.cpp
+++ b/lib/server/SocketStream.cpp
@@ -38,7 +38,9 @@
SocketStream::SocketStream()
: mSocketHandle(-1),
mReadClosed(false),
- mWriteClosed(false)
+ mWriteClosed(false),
+ mBytesRead(0),
+ mBytesWritten(0)
{
}
@@ -53,7 +55,9 @@ SocketStream::SocketStream()
SocketStream::SocketStream(int socket)
: mSocketHandle(socket),
mReadClosed(false),
- mWriteClosed(false)
+ mWriteClosed(false),
+ mBytesRead(0),
+ mBytesWritten(0)
{
if(socket < 0)
{
@@ -72,7 +76,9 @@ SocketStream::SocketStream(int socket)
SocketStream::SocketStream(const SocketStream &rToCopy)
: mSocketHandle(::dup(rToCopy.mSocketHandle)),
mReadClosed(rToCopy.mReadClosed),
- mWriteClosed(rToCopy.mWriteClosed)
+ mWriteClosed(rToCopy.mWriteClosed),
+ mBytesRead(rToCopy.mBytesRead),
+ mBytesWritten(rToCopy.mBytesWritten)
{
if(rToCopy.mSocketHandle < 0)
@@ -114,6 +120,7 @@ void SocketStream::Attach(int socket)
if(mSocketHandle != -1) {THROW_EXCEPTION(ServerException, SocketAlreadyOpen)}
mSocketHandle = socket;
+ ResetCounters();
}
@@ -154,6 +161,7 @@ void SocketStream::Open(int Type, const char *Name, int Port)
mSocketHandle = -1;
THROW_EXCEPTION(ConnectionException, Conn_SocketConnectError)
}
+ ResetCounters();
}
// --------------------------------------------------------------------------
@@ -225,6 +233,7 @@ int SocketStream::Read(void *pBuffer, int NBytes, int Timeout)
mReadClosed = true;
}
+ mBytesRead += r;
return r;
}
@@ -266,6 +275,8 @@ void SocketStream::Write(const void *pBuffer, int NBytes)
bytesLeft -= sent;
// Move buffer pointer
buffer += sent;
+
+ mBytesWritten += sent;
// Need to wait until it can send again?
if(bytesLeft > 0)