-
Notifications
You must be signed in to change notification settings - Fork 42
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
iox2-51 shm long name support #53
iox2-51 shm long name support #53
Conversation
@@ -864,7 +864,7 @@ mod service_publish_subscribe { | |||
const BUFFER_SIZE: usize = 1; | |||
const HISTORY_SIZE: usize = 0; | |||
const MAX_BORROW: usize = 1; | |||
const MAX_SUBSCRIBERS: usize = 100; | |||
const MAX_SUBSCRIBERS: usize = 50; |
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'm thinking whether it would make sense to keep the old value on Linux as canary check that something is broken?
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.
At this level I would like to have the same tests, behavior, limits etc. and say with confidence that every platform supports at least 50 subscribers.
I completely understand your rational, but when we go this route we may have a wild mixture of verified upper limits for every platform. I would rather go the path that we say 50 subscribers are supported for every platform, but an individual higher limit for a specific platform is maybe working.
Maybe we can introduce platform specific system limit tests where exactly those differences can be verified. What do you think?
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.
Indeed. These limits might be a criteria for tier 2 and for tier 1 we could have tests for additional limits.
471a73e
to
0ea33c1
Compare
…nsure that null terminator is always present
8cae210
to
903597d
Compare
…pecific thread documentation example
903597d
to
edf0eef
Compare
…ssful or the shared memory does not exist
…, rename wait_while into blocking_wait_while to be consistent with other blocking functions
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #53 +/- ##
==========================================
- Coverage 77.90% 77.89% -0.02%
==========================================
Files 172 172
Lines 18664 18664
==========================================
- Hits 14541 14539 -2
- Misses 4123 4125 +2
|
Notes for Reviewer
Do not review before #52 is merged, since it is based on it.
MacOS has the restrictions that only 31 characters are allowed for the shared memory name but iceoryx2 requires much more. The trick is that a file is created to:
In the file is then the triple stored (
$PID$_$TIMESTAMP_SECS$_$TIMESTAMP_NSEC$
). In the worst case scenario where PID + SEC is larger than 1.000.000.000 it would hit the max name length of mac os (32 > 31), but to our luck NSEC is always smaller than 1.000.000.000 giving us the extra character we need.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
Use either 'Closes #123' or 'Relates to #123' to reference the corresponding issue.
Closes #ISSUE-NUMBER