aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVincent Richard <[email protected]>2009-04-09 18:15:50 +0000
committerVincent Richard <[email protected]>2009-04-09 18:15:50 +0000
commitd0bc8b3a951334471a81e099f15696c5353aac47 (patch)
treea788bc5109d678e18c448a5f6ffb9e23017001a8 /src
parentUse Decider() method instead of deprecated SourceSignatures/TargetSignatures(). (diff)
downloadvmime-d0bc8b3a951334471a81e099f15696c5353aac47.tar.gz
vmime-d0bc8b3a951334471a81e099f15696c5353aac47.zip
Fixed block size through filtered streams.
Diffstat (limited to 'src')
-rw-r--r--src/utility/filteredStream.cpp16
-rw-r--r--src/utility/stream.cpp6
2 files changed, 19 insertions, 3 deletions
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
}