diff --git a/iceoryx_posh/include/iceoryx_posh/internal/popo/ports/server_port_user.hpp b/iceoryx_posh/include/iceoryx_posh/internal/popo/ports/server_port_user.hpp index 40903adbc38..8773d0719fc 100644 --- a/iceoryx_posh/include/iceoryx_posh/internal/popo/ports/server_port_user.hpp +++ b/iceoryx_posh/include/iceoryx_posh/internal/popo/ports/server_port_user.hpp @@ -95,6 +95,9 @@ class ServerPortUser : public BasePort /// @param[in] chunkHeader, pointer to the ChunkHeader to release void releaseRequest(const RequestHeader* const requestHeader) noexcept; + /// @brief Release all the requests that are currently queued up. + void releaseQueuedRequests() noexcept; + /// @brief check if there are requests in the queue /// @return if there are requests in the queue return true, otherwise false bool hasNewRequests() const noexcept; diff --git a/iceoryx_posh/source/popo/ports/server_port_user.cpp b/iceoryx_posh/source/popo/ports/server_port_user.cpp index 9597a9d94d1..c511f04cd50 100644 --- a/iceoryx_posh/source/popo/ports/server_port_user.cpp +++ b/iceoryx_posh/source/popo/ports/server_port_user.cpp @@ -68,6 +68,11 @@ void ServerPortUser::releaseRequest(const RequestHeader* const requestHeader) no } } +void ServerPortUser::releaseQueuedRequests() noexcept +{ + m_chunkReceiver.clear(); +} + bool ServerPortUser::hasNewRequests() const noexcept { return !m_chunkReceiver.empty();