diff options
author | Chris Wilson <chris+github@qwirx.com> | 2014-08-15 22:47:52 +0000 |
---|---|---|
committer | Chris Wilson <chris+github@qwirx.com> | 2014-08-15 22:47:52 +0000 |
commit | 6ff44743d8ffc21aa2a496042b9e7de422b8d035 (patch) | |
tree | a8c6a301cee697823ff54aa8a3c5c73f781f6798 /lib/compress | |
parent | af691669750dca30af3700ec4e913b0ef7269cda (diff) |
Add missing timeouts for network operations.
Diffstat (limited to 'lib/compress')
-rw-r--r-- | lib/compress/CompressStream.cpp | 14 | ||||
-rw-r--r-- | lib/compress/CompressStream.h | 8 |
2 files changed, 12 insertions, 10 deletions
diff --git a/lib/compress/CompressStream.cpp b/lib/compress/CompressStream.cpp index 9bb73e3d..f7728a21 100644 --- a/lib/compress/CompressStream.cpp +++ b/lib/compress/CompressStream.cpp @@ -177,12 +177,12 @@ int CompressStream::Read(void *pBuffer, int NBytes, int Timeout) // Created: 27/5/04 // // -------------------------------------------------------------------------- -void CompressStream::Write(const void *pBuffer, int NBytes) +void CompressStream::Write(const void *pBuffer, int NBytes, int Timeout) { USE_WRITE_COMPRESSOR if(pCompress == 0) { - mpStream->Write(pBuffer, NBytes); + mpStream->Write(pBuffer, NBytes, Timeout); return; } @@ -207,7 +207,7 @@ void CompressStream::Write(const void *pBuffer, int NBytes) // Created: 27/5/04 // // -------------------------------------------------------------------------- -void CompressStream::WriteAllBuffered() +void CompressStream::WriteAllBuffered(int Timeout) { if(mIsClosed) { @@ -215,7 +215,7 @@ void CompressStream::WriteAllBuffered() } // Just ask compressed data to be written out, but with the sync flag set - WriteCompressedData(true); + WriteCompressedData(true, Timeout); } @@ -238,7 +238,7 @@ void CompressStream::Close() pCompress->FinishInput(); WriteCompressedData(); - // Mark as definately closed + // Mark as definitely closed mIsClosed = true; } } @@ -257,7 +257,7 @@ void CompressStream::Close() // Created: 28/5/04 // // -------------------------------------------------------------------------- -void CompressStream::WriteCompressedData(bool SyncFlush) +void CompressStream::WriteCompressedData(bool SyncFlush, int Timeout) { USE_WRITE_COMPRESSOR if(pCompress == 0) {THROW_EXCEPTION(CompressException, Internal)} @@ -268,7 +268,7 @@ void CompressStream::WriteCompressedData(bool SyncFlush) s = pCompress->Output(mpBuffer, BUFFER_SIZE, SyncFlush); if(s > 0) { - mpStream->Write(mpBuffer, s); + mpStream->Write(mpBuffer, s, Timeout); } } while(s > 0); // Check assumption -- all input has been consumed diff --git a/lib/compress/CompressStream.h b/lib/compress/CompressStream.h index 7959e3dc..7d6b2501 100644 --- a/lib/compress/CompressStream.h +++ b/lib/compress/CompressStream.h @@ -33,8 +33,9 @@ private: public: virtual int Read(void *pBuffer, int NBytes, int Timeout = IOStream::TimeOutInfinite); - virtual void Write(const void *pBuffer, int NBytes); - virtual void WriteAllBuffered(); + virtual void Write(const void *pBuffer, int NBytes, + int Timeout = IOStream::TimeOutInfinite); + virtual void WriteAllBuffered(int Timeout = IOStream::TimeOutInfinite); virtual void Close(); virtual bool StreamDataLeft(); virtual bool StreamClosed(); @@ -43,7 +44,8 @@ protected: void CheckRead(); void CheckWrite(); void CheckBuffer(); - void WriteCompressedData(bool SyncFlush = false); + void WriteCompressedData(bool SyncFlush = false, + int Timeout = IOStream::TimeOutInfinite); private: IOStream *mpStream; |