From 3896b47a3532aadcde43a3e7fed760a0f4a29e6b Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Mon, 10 Feb 2020 12:24:15 +0000 Subject: IVGCVSW-4328 BufferManager running out of buffers crashes application * Refactored SendCounterPacket classes, separated SendCounterPacket from Send thread * Created ISendThread.hpp, IConsumer, SendThread.hpp and SendThread.cpp * Injected IConsumer to BufferManager to notify SendThread when packet is ready to read Signed-off-by: Sadik Armagan Change-Id: I80f0bb8b8401c6bfd1611f7760217c6fe35d7ad8 --- src/profiling/IBufferManager.hpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/profiling/IBufferManager.hpp') diff --git a/src/profiling/IBufferManager.hpp b/src/profiling/IBufferManager.hpp index 2b497da585..01ecb8222d 100644 --- a/src/profiling/IBufferManager.hpp +++ b/src/profiling/IBufferManager.hpp @@ -5,6 +5,7 @@ #pragma once +#include "IConsumer.hpp" #include "IPacketBuffer.hpp" #include @@ -24,13 +25,17 @@ public: virtual IPacketBufferPtr Reserve(unsigned int requestedSize, unsigned int& reservedSize) = 0; - virtual void Commit(IPacketBufferPtr& packetBuffer, unsigned int size) = 0; + virtual void Commit(IPacketBufferPtr& packetBuffer, unsigned int size, bool notifyConsumer = true) = 0; virtual void Release(IPacketBufferPtr& packetBuffer) = 0; virtual IPacketBufferPtr GetReadableBuffer() = 0; virtual void MarkRead(IPacketBufferPtr& packetBuffer) = 0; + + virtual void SetConsumer(IConsumer* consumer) = 0; + + virtual void FlushReadList() = 0; }; } // namespace profiling -- cgit v1.2.1