From d0bc8b3a951334471a81e099f15696c5353aac47 Mon Sep 17 00:00:00 2001 From: Vincent Richard Date: Thu, 9 Apr 2009 18:15:50 +0000 Subject: Fixed block size through filtered streams. --- src/utility/filteredStream.cpp | 16 ++++++++++++++++ src/utility/stream.cpp | 6 +++--- 2 files changed, 19 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/utility/filteredStream.cpp b/src/utility/filteredStream.cpp index eda0c64c..5db01047 100644 --- a/src/utility/filteredStream.cpp +++ b/src/utility/filteredStream.cpp @@ -30,6 +30,22 @@ namespace vmime { namespace utility { +// filteredInputStream + +stream::size_type filteredInputStream::getBlockSize() +{ + return std::min(inputStream::getBlockSize(), getPreviousInputStream().getBlockSize()); +} + + +// filteredOutputStream + +stream::size_type filteredOutputStream::getBlockSize() +{ + return std::min(outputStream::getBlockSize(), getNextOutputStream().getBlockSize()); +} + + // dotFilteredInputStream dotFilteredInputStream::dotFilteredInputStream(inputStream& is) diff --git a/src/utility/stream.cpp b/src/utility/stream.cpp index bb5300ef..8fbf337b 100644 --- a/src/utility/stream.cpp +++ b/src/utility/stream.cpp @@ -38,7 +38,7 @@ namespace utility { // stream -stream::size_type stream::getBlockSize() const +stream::size_type stream::getBlockSize() { return 32768; // 32 KB } @@ -468,7 +468,7 @@ void outputStreamSocketAdapter::flush() } -stream::size_type outputStreamSocketAdapter::getBlockSize() const +stream::size_type outputStreamSocketAdapter::getBlockSize() { return 16384; // 16 KB } @@ -511,7 +511,7 @@ stream::size_type inputStreamSocketAdapter::skip } -stream::size_type inputStreamSocketAdapter::getBlockSize() const +stream::size_type inputStreamSocketAdapter::getBlockSize() { return 16384; // 16 KB } -- cgit v1.2.3