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

Integration of Unix Domain Sockets #381

Closed
10 tasks done
elBoberido opened this issue Nov 19, 2020 · 1 comment · Fixed by #430 or #550
Closed
10 tasks done

Integration of Unix Domain Sockets #381

elBoberido opened this issue Nov 19, 2020 · 1 comment · Fixed by #430 or #550
Assignees
Labels
refactoring Refactor code without adding features
Milestone

Comments

@elBoberido
Copy link
Member

elBoberido commented Nov 19, 2020

Brief feature description

Currently the application name has to start with a leading slash. This exposes an implementation details, since that name is used for the message queue name. Since there is already a Unix Domain Abstraction available we can switch now to UDS.

Detailed information

The default IPC protocol for communication between RouDi and Runtime shall be switched to UDS.
Since the registration at RouDi will happen with with a different IPC mechanism than a message queue, e.g. unix domain sockets, this implementation detail should not be exposed to the user. If the application name is used as name for an IPC channel and this channel has certain requirements for its name, those should be taken care of in the IPC abstraction.

  • The check for the leading slash should be removed from the PoshRuntime.
  • Switch to UDS in posh_types.hpp and adapt existing classes and test to the new protocol
    • Rename abstract interface from "MQ" to "IPC" e.g. in RouDi
    • Temporarly disabled outdated and broken MqInterface* tests
  • Refactor classes for MqBase and MqInterfaces to more generic names
    • Split into three hpp/cpp
    • Rename to IpcInterfaceCreator, IpcInterfaceUser, IpcBase, IpcRuntimeInterface and IpcMessage
    • Delete mqueue_MOCK
    • Re-write iceoryx_posh/test/moduletests/test_mq_interface.cpp to test only POSH specific functionality of the IpcInterface e.g. getShmTopic(), IpcChannel is already covered by iceoryx_utils/test/moduletests/test_ipc_channel.cpp (will be addressed in App crash with Mq Error Code 15 #332)
  • Fix output when publisher or subscriber is started before RouDi, command line is flooded with errors

See also https://github.com/eclipse/iceoryx/pull/373/files#r525981221

@elBoberido elBoberido added this to the Prio 3 milestone Nov 19, 2020
@elBoberido elBoberido added this to To do in v1.0 via automation Nov 19, 2020
@elBoberido elBoberido added the refactoring Refactor code without adding features label Nov 19, 2020
@dkroenke dkroenke self-assigned this Dec 11, 2020
@dkroenke dkroenke modified the milestones: Prio 3, Prio 1 Dec 11, 2020
@dkroenke dkroenke moved this from To do to In progress in v1.0 Dec 11, 2020
@dkroenke dkroenke changed the title Remove leading slash from application name Integration of Unix Domain Sockets Dec 11, 2020
@budrus
Copy link
Contributor

budrus commented Dec 14, 2020

leading slash for 0.9, switching to UDS in 1.0

dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
@dkroenke dkroenke linked a pull request Dec 14, 2020 that will close this issue
19 tasks
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 14, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 15, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
dkroenke added a commit to ApexAI/iceoryx that referenced this issue Dec 15, 2020
Signed-off-by: Dietrich Krönke <dietrich.kroenke@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Feb 10, 2021
…timeInterface takes care about re-trying the creation

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Feb 10, 2021
…timeInterface takes care about re-trying the creation

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Feb 11, 2021
…hig renaming closeFd() and mask errors of those calls

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Feb 11, 2021
…hig re-introducing error prints in UnixDomainSocket

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Feb 11, 2021
…ame it to initalizeSocket()

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Feb 11, 2021
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Feb 11, 2021
… files with code changes

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Feb 11, 2021
…hig removing size_t usage and be strict about const-correctness

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Feb 11, 2021
…closed

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Feb 11, 2021
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Feb 12, 2021
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit that referenced this issue Feb 12, 2021
…asses

Iox #381 Rename and refactor message queue interface classes
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Feb 12, 2021
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Feb 12, 2021
Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
mossmaurice added a commit to ApexAI/iceoryx that referenced this issue Feb 16, 2021
…move assign op of base class and make things more functional

Signed-off-by: Simon Hoinkis <simon.hoinkis@apex.ai>
v1.0 automation moved this from In progress to Done Feb 16, 2021
Sprints automation moved this from In progress to Done Feb 16, 2021
mossmaurice added a commit that referenced this issue Feb 16, 2021
Iox #381 Fix flooding the command line and resource leak
@budrus budrus reopened this Feb 18, 2021
Sprints automation moved this from Done to In progress Feb 18, 2021
v1.0 automation moved this from Done to In progress Feb 18, 2021
@budrus budrus closed this as completed Mar 4, 2021
v1.0 automation moved this from In progress to Done Mar 4, 2021
Sprints automation moved this from In progress to Done Mar 4, 2021
elBoberido added a commit to ApexAI/iceoryx that referenced this issue Mar 23, 2021


Signed-off-by: Mathias Kraus <mathias.kraus@apex.ai>
elBoberido added a commit to ApexAI/iceoryx that referenced this issue Mar 24, 2021


Signed-off-by: Mathias Kraus <mathias.kraus@apex.ai>
marthtz pushed a commit to boschglobal/iceoryx that referenced this issue May 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactoring Refactor code without adding features
Projects
No open projects
v1.0
  
Done
4 participants