-
Notifications
You must be signed in to change notification settings - Fork 367
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Iox #615 block publisher when subscriber queue full #663
Iox #615 block publisher when subscriber queue full #663
Conversation
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
…ueFullPolicy Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
…nd let RouDi compare it in the discovery loop
Signed-off-by: Christian Eltzschig <me@elchris.org>
…-queue-full' of github.com:ApexAI/iceoryx into iox-eclipse-iceoryx#615-block-publisher-when-subscriber-queue-full
Signed-off-by: Christian Eltzschig <me@elchris.org>
…-queue-full' of github.com:ApexAI/iceoryx into iox-eclipse-iceoryx#615-block-publisher-when-subscriber-queue-full
Signed-off-by: Christian Eltzschig <me@elchris.org>
Signed-off-by: Christian Eltzschig <me@elchris.org>
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
…sher/SubscriberPort Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
…processMessage, add tests Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
…:n sofi Signed-off-by: Christian Eltzschig <me@elchris.org>
…-queue-full' of github.com:ApexAI/iceoryx into iox-eclipse-iceoryx#615-block-publisher-when-subscriber-queue-full
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
…-queue-full' of github.com:ApexAI/iceoryx into iox-eclipse-iceoryx#615-block-publisher-when-subscriber-queue-full
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
…PortMangerTest Signed-off-by: Michael Poehnl <michael.poehnl@apex.ai>
Signed-off-by: Michael Poehnl <michael.poehnl@apex.ai>
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
…tions Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
…x data types Signed-off-by: Christian Eltzschig <me@elchris.org>
Signed-off-by: Christian Eltzschig <me@elchris.org>
Signed-off-by: Christian Eltzschig <me@elchris.org>
Signed-off-by: Christian Eltzschig <me@elchris.org>
…with an integration test Signed-off-by: Christian Eltzschig <me@elchris.org>
Signed-off-by: Christian Eltzschig <me@elchris.org>
Signed-off-by: Christian Eltzschig <me@elchris.org>
… libc++abi.dylib: terminating Signed-off-by: Christian Eltzschig <me@elchris.org>
…er-when-subscriber-queue-full
Signed-off-by: Mathias Kraus <mathias.kraus@apex.ai>
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
iceoryx_posh/include/iceoryx_posh/internal/popo/building_blocks/chunk_queue_pusher.inl
Outdated
Show resolved
Hide resolved
@@ -38,7 +38,8 @@ struct ClientPortData : public BasePortData | |||
mepoo::MemoryManager* const memoryManager, | |||
const mepoo::MemoryInfo& memoryInfo = mepoo::MemoryInfo()) noexcept; | |||
|
|||
|
|||
static constexpr SubscriberTooSlowPolicy CLIENT_SUBSCRIBER_POLICY = SubscriberTooSlowPolicy::DISCARD_OLDEST_DATA; | |||
static constexpr QueueFullPolicy CLIENT_PUBLISHER_POLICY = QueueFullPolicy::DISCARD_OLDEST_DATA; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel we should have new enums for clients and servers. They are reusing ChunkSender and ChunkReceiver but have nothing to do with Publisher and Subscriber
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is no blocker, as client and server is not yet fully implemented. So this can be changed later
@@ -38,7 +38,8 @@ struct ServerPortData : public BasePortData | |||
mepoo::MemoryManager* const memoryManager, | |||
const mepoo::MemoryInfo& memoryInfo = mepoo::MemoryInfo()) noexcept; | |||
|
|||
|
|||
static constexpr SubscriberTooSlowPolicy SERVER_SUBSCRIBER_POLICY = SubscriberTooSlowPolicy::DISCARD_OLDEST_DATA; | |||
static constexpr QueueFullPolicy SERVER_PUBLISHER_POLICY = QueueFullPolicy::DISCARD_OLDEST_DATA; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same same
iceoryx_utils/include/iceoryx_utils/internal/cxx/variant_queue.inl
Outdated
Show resolved
Hide resolved
Signed-off-by: Mathias Kraus <mathias.kraus@apex.ai>
Signed-off-by: Mathias Kraus <mathias.kraus@apex.ai>
{ | ||
return m_queue->empty(); | ||
return m_queue.pop(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will make the ActiveObject::mainLoop
burn the CPU since it relied on this to be blocking.
iceoryx_posh/include/iceoryx_posh/internal/popo/building_blocks/chunk_distributor.inl
Outdated
Show resolved
Hide resolved
std::sort(getMembers()->m_queues.begin(), getMembers()->m_queues.end()); | ||
std::sort(remainingQueues.begin(), remainingQueues.end()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this could also be optimized if we sort the queues once when they are subscribed
iceoryx_posh/include/iceoryx_posh/internal/popo/building_blocks/chunk_distributor.inl
Show resolved
Hide resolved
Signed-off-by: Mathias Kraus <mathias.kraus@apex.ai>
…en chunks are lost Signed-off-by: Michael Poehnl <michael.poehnl@apex.ai>
…-queue-full' of https://github.com/ApexAI/iceoryx into iox-eclipse-iceoryx#615-block-publisher-when-subscriber-queue-full
Signed-off-by: Mathias Kraus <mathias.kraus@apex.ai>
…riant queue Signed-off-by: Mathias Kraus <mathias.kraus@apex.ai>
Signed-off-by: Michael Poehnl <michael.poehnl@apex.ai>
…-queue-full' of https://github.com/ApexAI/iceoryx into iox-eclipse-iceoryx#615-block-publisher-when-subscriber-queue-full
Signed-off-by: Mathias Kraus <mathias.kraus@apex.ai>
069ff11
to
600aa77
Compare
…lisher-when-subscriber-queue-full Iox eclipse-iceoryx#615 block publisher when subscriber queue full
Pre-Review Checklist for the PR Author
iox-#123-this-is-a-branch
)iox-#123 commit text
)git commit -s
)task-list-completed
)Notes for Reviewer
Checklist for the PR Reviewer
Post-review Checklist for the PR Author
References