diff options
author | Max Kellermann <max@duempel.org> | 2014-08-06 17:52:56 +0200 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-08-06 22:55:59 +0200 |
commit | 08fee9a284cc082822392b38574fd2d4b0afb843 (patch) | |
tree | 4fb67ce0397d745a81cad04861791674f737a963 | |
parent | f89da17827eefdefea56ee871e74a9da46854f4e (diff) | |
download | mpd-08fee9a284cc082822392b38574fd2d4b0afb843.tar.gz mpd-08fee9a284cc082822392b38574fd2d4b0afb843.tar.xz mpd-08fee9a284cc082822392b38574fd2d4b0afb843.zip |
util/ForeignFifoBuffer: add method GetAvailable()
-rw-r--r-- | src/util/DynamicFifoBuffer.hxx | 3 | ||||
-rw-r--r-- | src/util/ForeignFifoBuffer.hxx | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/util/DynamicFifoBuffer.hxx b/src/util/DynamicFifoBuffer.hxx index d441b4484..91cbbc4c7 100644 --- a/src/util/DynamicFifoBuffer.hxx +++ b/src/util/DynamicFifoBuffer.hxx @@ -54,6 +54,7 @@ public: using ForeignFifoBuffer<T>::IsEmpty; using ForeignFifoBuffer<T>::IsFull; + using ForeignFifoBuffer<T>::GetAvailable; using ForeignFifoBuffer<T>::Read; using ForeignFifoBuffer<T>::Consume; using ForeignFifoBuffer<T>::Write; @@ -73,7 +74,7 @@ public: /* we already have enough space */ return; - const size_type in_use = Read().size; + const size_type in_use = GetAvailable(); const size_type required_capacity = in_use + n; size_type new_capacity = GetCapacity(); do { diff --git a/src/util/ForeignFifoBuffer.hxx b/src/util/ForeignFifoBuffer.hxx index c119fb6d5..cd6fb6101 100644 --- a/src/util/ForeignFifoBuffer.hxx +++ b/src/util/ForeignFifoBuffer.hxx @@ -171,6 +171,10 @@ public: tail += n; } + constexpr size_type GetAvailable() const { + return tail - head; + } + /** * Return a buffer range which may be read. The buffer pointer is * writable, to allow modifications while parsing. |