Skip to content
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

Refactor Relocatable Pointer and Relative Pointer #605

Closed
18 tasks done
elfenpiff opened this issue Mar 11, 2021 · 2 comments · Fixed by #618, #1599, #1603, #1677 or #1719
Closed
18 tasks done

Refactor Relocatable Pointer and Relative Pointer #605

elfenpiff opened this issue Mar 11, 2021 · 2 comments · Fixed by #618, #1599, #1603, #1677 or #1719
Assignees
Labels
documentation Improvements or additions to documentation globex refactoring Refactor code without adding features test A module/integration/stress/etc test for a component
Projects
Milestone

Comments

@elfenpiff
Copy link
Contributor

elfenpiff commented Mar 11, 2021

Brief feature description

The relocatable pointer (iceoryx_utils/internal/relocatable_pointer) implementation needs to be cleaned up:

  1. add noexcept, const, replace size_t with uint64_t (done in Iox #605 cleanup relocatable ptr #618 except making parameters const)
  2. separate implementation and declaration for all classes (Iox #605 cleanup relocatable ptr #618)
  3. one class per header file (Iox #605 cleanup relocatable ptr #618)
  4. add subnamespace iox::rp where everything is stored (Iox #605 cleanup relocatable ptr #618)
  5. restructure the unit tests / add missing tests Moved to Restructure RelativePointer unit tests #1745
  6. add doxygen documentation (Iox #605 cleanup relocatable ptr #618)
  7. remove includes of base_relative_ptr.hpp & base_relocatable_ptr.hpp
  8. consider removing ptr_t and const_ptr_t aliases and use void* directly (see Iox #605 cleanup relocatable ptr #618 (comment))
  9. add void* get() noexcept, const void* get() const noexcept, void* getBasePtr() noexcept and const void* getBasePtr() const noexcept to BaseRelativePointer -> Not implemented as SharedPointer uses get() const noexcept
  10. consider changing return type of PointerRepository::unregisterPrt() to void (see Iox #605 cleanup relocatable ptr #618 (comment)) - Note: maybe not, it might be useful to have an indication whether the deregistration was successful
  11. move duplicated code into a separate method (see Iox #605 cleanup relocatable ptr #618 (comment))
  12. rename PointerRepository::registerPtr() methods if both are needed (see Iox #605 cleanup relocatable ptr #618 (comment)) + consider returning a cxx::unique_ptr<id_t>
  13. check invalid id logic (see Iox #605 cleanup relocatable ptr #618 (comment) and Iox #605 cleanup relocatable ptr #618 (comment))
  14. add const methods to RelativePointer (see Iox #605 cleanup relocatable ptr #618 (comment), Iox #605 cleanup relocatable ptr #618 (comment) and Iox #605 cleanup relocatable ptr #618 (comment)). This might not be needed, compare with e.g. std::shared_pointer https://en.cppreference.com/w/cpp/memory/shared_ptr/operator* It should work similar to STL smart pointers.
  15. invalidate other move c'tor and move assignment operator of BaseRelocatablePointer (see Iox #605 cleanup relocatable ptr #618 (comment) and Iox #605 cleanup relocatable ptr #618 (comment))
  16. use composition instead of inheritance (see Iox #605 cleanup relocatable ptr #618 (comment) and Refactor Relocatable Pointer and Relative Pointer #605 (comment)) - if done, consider renaming Base...Pointer to Untyped...Pointer
  17. replace RelativePointer by RelocatablePointer where applicable, e.g. Semaphore and LoFFLi Moved to Restructure RelativePointer unit tests #1745
  18. Move RelativePointer to public include
@elfenpiff elfenpiff added documentation Improvements or additions to documentation refactoring Refactor code without adding features test A module/integration/stress/etc test for a component labels Mar 11, 2021
@elfenpiff elfenpiff added this to the Prio 1 milestone Mar 11, 2021
@elfenpiff elfenpiff added this to To do in v1.0 via automation Mar 11, 2021
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 11, 2021
…ptr_t

Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 12, 2021
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 15, 2021
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 15, 2021
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 17, 2021
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 17, 2021
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 17, 2021
…locatable-ptr

Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
@FerdinandSpitzschnueffler FerdinandSpitzschnueffler moved this from To do to In progress in v1.0 Mar 17, 2021
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 17, 2021
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 18, 2021
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 18, 2021
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 18, 2021
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 19, 2021
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 19, 2021
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 19, 2021
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 19, 2021
Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 19, 2021
…oSegment c'tor

Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 19, 2021
…ool c'tor

Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 22, 2021
…locatable-ptr

Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 24, 2021
…locatable-ptr

Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
@FerdinandSpitzschnueffler FerdinandSpitzschnueffler changed the title Cleanup Relocatable Pointer Refactor Relocatable Pointer Mar 24, 2021
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 24, 2021
… files

Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
FerdinandSpitzschnueffler added a commit to ApexAI/iceoryx that referenced this issue Mar 24, 2021
…locatable-ptr

Signed-off-by: Marika Lehmann <marika.lehmann@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Sep 29, 2022
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Sep 29, 2022
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Sep 29, 2022
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Sep 29, 2022
…erIfIdIsFree'

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Sep 29, 2022
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Sep 29, 2022
…tivePointer'

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Sep 29, 2022
…module

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Sep 29, 2022
…se note entry

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Sep 29, 2022
…se note entry

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
v3.0 automation moved this from In progress to Done Oct 4, 2022
v3.0 automation moved this from Done to In progress Oct 5, 2022
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Oct 5, 2022
…include directory

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Oct 5, 2022
…include directory

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Oct 6, 2022
…include directory

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
v3.0 automation moved this from In progress to Done Oct 6, 2022
mossmaurice added a commit that referenced this issue Oct 6, 2022
iox-#605 Move `RelativePointer` from internal to public include directory
@mossmaurice mossmaurice reopened this Oct 6, 2022
v3.0 automation moved this from Done to In progress Oct 6, 2022
@mossmaurice
Copy link
Contributor

Moved open tasks to #1745

v3.0 automation moved this from In progress to Done Oct 14, 2022
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Oct 14, 2022
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Oct 17, 2022
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment