diff options
author | Lee Clagett <code@leeclagett.com> | 2020-10-13 15:10:54 +0000 |
---|---|---|
committer | Lee Clagett <code@leeclagett.com> | 2020-10-13 15:10:54 +0000 |
commit | 08eb0949f3bf092720ed7aad71315778953c83a7 (patch) | |
tree | c2cf7c901a28dcf93cec48416c4bd019d41af550 /contrib/epee/src | |
parent | Merge pull request #6927 (diff) | |
download | monero-08eb0949f3bf092720ed7aad71315778953c83a7.tar.xz |
Change to more efficient allocation strategy in byte_stream
Diffstat (limited to 'contrib/epee/src')
-rw-r--r-- | contrib/epee/src/byte_stream.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/contrib/epee/src/byte_stream.cpp b/contrib/epee/src/byte_stream.cpp index e87d9f0bc..73bba92f2 100644 --- a/contrib/epee/src/byte_stream.cpp +++ b/contrib/epee/src/byte_stream.cpp @@ -34,6 +34,11 @@ #include <iostream> +namespace +{ + constexpr const std::size_t minimum_increase = 4096; +} + namespace epee { void byte_stream::overflow(const std::size_t requested) @@ -46,7 +51,7 @@ namespace epee const std::size_t len = size(); const std::size_t cap = capacity(); - const std::size_t increase = std::max(need, increase_size()); + const std::size_t increase = std::max(std::max(need, cap), minimum_increase); next_write_ = nullptr; end_ = nullptr; @@ -62,8 +67,7 @@ namespace epee byte_stream::byte_stream(byte_stream&& rhs) noexcept : buffer_(std::move(rhs.buffer_)), next_write_(rhs.next_write_), - end_(rhs.end_), - increase_size_(rhs.increase_size_) + end_(rhs.end_) { rhs.next_write_ = nullptr; rhs.end_ = nullptr; @@ -76,7 +80,6 @@ namespace epee buffer_ = std::move(rhs.buffer_); next_write_ = rhs.next_write_; end_ = rhs.end_; - increase_size_ = rhs.increase_size_; rhs.next_write_ = nullptr; rhs.end_ = nullptr; } |