diff options
author | Ben Summers <ben@fluffy.co.uk> | 2006-02-13 13:35:51 +0000 |
---|---|---|
committer | Ben Summers <ben@fluffy.co.uk> | 2006-02-13 13:35:51 +0000 |
commit | ab0b336a656d168d132f685ead24c0c18df4a612 (patch) | |
tree | 4bfa00b9e5c35200c5439bcdf8ca754107e11c62 /lib/server/SocketStream.cpp | |
parent | 830aa82e44381c85d8486e46de7ae0e26830457e (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.cpp | 17 |
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) |