Closed elfenpiff closed 2 days ago
Attention: Patch coverage is 81.65007%
with 129 lines
in your changes missing coverage. Please review.
Project coverage is 79.08%. Comparing base (
810fb87
) to head (a5f1e64
). Report is 29 commits behind head on main.
🚨 Try these New Features:
Notes for Reviewer
The
SlotMap
is required to store multiple data segments and fixed indices so that the senders and receivers of a shared memory communication can manage them (add/remove at runtime). When a sender runs out of memory a new data segment is added at the same index by every participant and this index is part of the memory offset the sender delivers to the receiver via the zero copy channel.The RelocatableContainer concept had to be cleaned up a bit in order to implement the
SlotMap
.details::Meta**
**
,Relocatable**
types are definedFixedSize**
contains aRelocatable**
and provides the memoryExample:
details::MetaQueue
(implementation).Queue
(runtime fixed-size heap version),ReloctableQueue
(runtime fixed-size shared memory version),FixedSizeQueue
(compile-time fixed-size shared memory version)The
ReloctableContainer
trait contained anew()
method where a relative position to the memory had to be provided. This was removed since it was too error prone to use. TheBumpAllocator
in combination with the already existingnew_uninit
+init(allocator)
approach was used to replace it. This is relevant for allFixedSize**
versions.Since Rust does not allow any compile time const operations we could not use in the fixed size version pre-allocated memory in the form of
To make the code somehow readable, the actual payload members where listed after the
RelocatableVersion
in the struct definition.Also, the
RelocatableVec
had to be refactored to follow thedetails::MetaVec
,Vec
,RelocatableVec
,FixedSizeVec
pattern so that it could be used in the implementation of theSlotMap
.Pre-Review Checklist for the PR Author
SPDX-License-Identifier: Apache-2.0 OR MIT
iox2-123-introduce-posix-ipc-example
)[#123] Add posix ipc example
)task-list-completed
)Checklist for the PR Reviewer
Post-review Checklist for the PR Author
References
Closes #504