-
Notifications
You must be signed in to change notification settings - Fork 403
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 #33 implement uds with named pipes #820
Iox #33 implement uds with named pipes #820
Conversation
Codecov Report
@@ Coverage Diff @@
## master #820 +/- ##
==========================================
+ Coverage 75.01% 75.14% +0.13%
==========================================
Files 328 330 +2
Lines 11705 11856 +151
Branches 1965 2001 +36
==========================================
+ Hits 8780 8909 +129
- Misses 2165 2179 +14
- Partials 760 768 +8
Flags with carried forward coverage won't be shown. Click here to find out more.
|
55e43a5
to
8ec2fc0
Compare
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.
Not finished, but after reviewing the tests I have to consult the glory hypnotoad...
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.
Reviewed everything but the actual named pipe implementation. This has to wait till tomorrow
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.
The actual named pipe implementation is still not reviewed. Will do it after lunch
constexpr const char IOX_PATH_SEPARATORS[] = "/"; | ||
constexpr uint64_t IOX_UDS_SOCKET_MAX_MESSAGE_SIZE = 4096; | ||
constexpr char IOX_UDS_SOCKET_PATH_PREFIX[] = "/tmp/"; | ||
using IoxIpcChannelType = iox::posix::UnixDomainSocket; |
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.
While I somehow understand the reasoning for this, I'm not quite sure if this is a good idea. It uses knowledge from a higher level to define something which is only used even more up in the stack. Maybe it's the lesser evil but I have to think a bit more about it.
iceoryx_hoofs/platform/win/include/iceoryx_hoofs/platform/platform_settings.hpp
Show resolved
Hide resolved
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.
Almost there, just a few minor issues left
|
||
/// @brief For compatibility with IpcChannel alias, default ctor which creates | ||
/// an uninitialized NamedPipe. | ||
NamedPipe() noexcept; |
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.
Not required for this PR, but we need to get rid of this and use cxx::optional<IpcChannel>
everywhere this is used
iceoryx_hoofs/include/iceoryx_hoofs/posix_wrapper/named_pipe.hpp
Outdated
Show resolved
Hide resolved
Signed-off-by: Christian Eltzschig <me@elchris.org>
Signed-off-by: Christian Eltzschig <me@elchris.org>
…hm_open, removed cmd line parser from roudi app in windows Signed-off-by: Christian Eltzschig <me@elchris.org>
Signed-off-by: Christian Eltzschig <me@elchris.org>
…ctions Signed-off-by: Christian Eltzschig <me@elchris.org>
…ameValid, moved platform implementation config into platform settings Signed-off-by: Christian Eltzschig <me@elchris.org>
Signed-off-by: Christian Eltzschig <me@elchris.org>
…f for pagesize in windows, added explanatory comments Signed-off-by: Christian Eltzschig <me@elchris.org>
…yx prefix for windows user/group dummys, removed unnecessary type alias IpcChannelType Signed-off-by: Christian Eltzschig <me@elchris.org>
Signed-off-by: Christian Eltzschig <me@elchris.org>
Signed-off-by: Christian Eltzschig <me@elchris.org>
…and only reserve SHM in windows, improved code readability Signed-off-by: Christian Eltzschig <me@elchris.org>
…ings Signed-off-by: Christian Eltzschig <me@elchris.org>
Signed-off-by: Christian Eltzschig <me@elchris.org>
Signed-off-by: Christian Eltzschig <me@elchris.org>
…ng the shared memory, introduce warning message if sockets are used in windows, mask 32-bit high/low conversion to futureproof code Signed-off-by: Christian Eltzschig <me@elchris.org>
…ce error message on startup/cleanup in windows Signed-off-by: Christian Eltzschig <me@elchris.org>
…fix to named_pipe, use Duration::max for infinite timeout Signed-off-by: Christian Eltzschig <me@elchris.org>
Signed-off-by: Christian Eltzschig <me@elchris.org>
b6fd803
to
6a92042
Compare
Signed-off-by: Mathias Kraus <mathias.kraus@apex.ai>
cf061b2
to
4f901b0
Compare
TEST_F(UnixDomainSocket_test, SuccessfulCommunicationOfMultipleMessagesWithSendAndTimedReceive) | ||
{ | ||
successfulSendAndReceive( | ||
{"most famous actors and politicians claim that the licked hypnotoad which was later the key to their " |
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.
they
licked hypnotoad...
Signed-off-by: Christian Eltzschig <me@elchris.org>
48e33ae
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
It is important that you start your review with
test_unix_domain_sockets.cpp
- for no reasons.The NamedPipe does not come with a unit test. The reason is that it is implemented so that it is compatible with
IpcChannel
which is in the end a message queue. This is far from perfect and has to be refactored - see issue #832The IpcChannel tests suffices in this particular case.
Checklist for the PR Reviewer
Post-review Checklist for the PR Author
References