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

Implementation of Publish Subscribe Message Exchange interface #1676

Merged
merged 97 commits into from
Sep 20, 2023
Merged
Changes from 1 commit
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
e6fc9a9
Publish Subscribe Message Exchange (PSMX) Implementation
dpotman Aug 31, 2022
ec9d8b6
Remove ref/unref from loaned sample ops
dpotman Jul 5, 2023
e754143
Rename data_origin to instance_id in psmx_metadata and change loan_or…
dpotman Jul 6, 2023
cb3a83a
Refactoring reader loan impl after rebasing on read-collect
dpotman Jul 10, 2023
3023531
Rename loan manager to loan pool
dpotman Jul 10, 2023
284fc92
Fix duplicate condition in if statement
dpotman Jul 10, 2023
cad8c15
Fix loan test after rebasing loan impl on read-collect
dpotman Jul 10, 2023
6a58899
Add psmx instance id validation in do_locator
dpotman Jul 11, 2023
0310c89
Disable ptr changed checks in loan test in case address sanitizer is …
dpotman Jul 12, 2023
4a871e6
Fix analyzer issue in dds_qos_has_psmx_instances
dpotman Jul 12, 2023
ce3c982
Fix doxygen comment on dds_read_collect_sample_arg_init
dpotman Jul 12, 2023
f5ef159
Some minor refactoring in requesting writer loan wrt multiple psmx in…
dpotman Jul 12, 2023
148247c
Add contains-key flag to data type props and disallow iox when type h…
dpotman Jul 13, 2023
e6f4d15
Some minor cleanup for removed data allocator
dpotman Jul 13, 2023
0a1f7a4
Re-implement dds_is_shared_memory_available and endpoint_is_loan_avai…
dpotman Jul 13, 2023
56e0f1b
Add (deprecated) dds_loan_api functions and move some function to dif…
dpotman Jul 17, 2023
39eeb90
Remove calc_datatype_props from sertype ops
dpotman Jul 17, 2023
96511f6
Minor cleanup in serdata_default
dpotman Jul 17, 2023
3a82dab
Fix some comments and copyrights
dpotman Jul 18, 2023
d597701
Some fixes after rebasing on master with read-with-collect included
dpotman Jul 27, 2023
2722be8
Remove unused fields from psmx meta-data
dpotman Aug 2, 2023
2a68a9d
Fix psmx metadata cdr_identifier usage
dpotman Aug 3, 2023
4f4395d
Add timestamp in psmx tests
dpotman Aug 3, 2023
1eeff7a
Check whether PSMX plugin supports keys
reicheratwork Aug 16, 2023
6b04411
Fix for node id discovery in iox wrapper
reicheratwork Aug 16, 2023
8a289fd
Removed hash field from psmx metadata
reicheratwork Aug 16, 2023
943a745
Add retention of return values in dds_return_reader_loan
reicheratwork Aug 16, 2023
40d17d9
Added deprecated attribute to functions which are now deprecated
reicheratwork Aug 17, 2023
88242f6
Move ddsperf sanity check to its own pipeline step
eboasson Aug 24, 2023
31cb314
Update fuzzers for changed ddsi_init interface
eboasson Aug 24, 2023
ce462da
Distinguish between raw keys/samples in PSMX
eboasson Aug 24, 2023
e266ba6
Drop unused loaned_sample reset function
eboasson Aug 24, 2023
c8a534c
Inline loaned_sample_ref/unref, drop external free
eboasson Aug 24, 2023
7ae89aa
Remove mutex/backrefs from loan pool/loan
eboasson Aug 24, 2023
57baf17
Return OK on success for dds_request_loan
eboasson Aug 24, 2023
fd03cd7
PSMX test: check data in all readers + some fixes
eboasson Aug 24, 2023
6f17d7a
write: only compute size if a PSMX loan is needed
eboasson Aug 24, 2023
baa5c17
Clean up dds_request_writer_loan
eboasson Aug 24, 2023
2a61d87
Clean up dds_write a bit
eboasson Aug 24, 2023
546fe51
dds_read rework + reader heap loan cache
eboasson Aug 24, 2023
9433224
Merge PSMX type and QoS compatibility check
eboasson Aug 28, 2023
d1cf446
Improve heap loans a bit
eboasson Aug 28, 2023
a9a1231
Map QoS settings to Iceoryx options
eboasson Aug 28, 2023
c1411eb
IOX plugin: add locking + some refactoring
eboasson Aug 28, 2023
ed32768
Update symbol_export (dds_psmx_supported_features)
eboasson Aug 28, 2023
a67c1dc
ddsperf: more unkeyed types + writer loans
eboasson Aug 28, 2023
c582d53
Add SERVICE_NAME option to Cyclone-based PSMX
eboasson Aug 28, 2023
eb631d3
Run Cyclone-based PSMX plugin in isolation
eboasson Aug 28, 2023
495f3ef
PSMX test: fake multiple hosts using SERVICE_NAME
eboasson Aug 28, 2023
8874b4a
wip: avoid PSMX locators for unicast purposes
eboasson Aug 28, 2023
a07c9bb
Fix SharedMemory config option (backwards compat)
eboasson Aug 28, 2023
8ff14a7
Fix checks for use of PSMX in endpoint match
eboasson Aug 28, 2023
4303d8c
Set KEYED_TOPICS=true in PSMX tests
eboasson Aug 28, 2023
b8adb1f
Work towards writer address set calculation test
eboasson Aug 30, 2023
ddd3219
ddsperf: use dds_take_wl instead of dds_take
eboasson Aug 31, 2023
e6cbec9
dds_read/dds_take: always provide a copy
eboasson Aug 31, 2023
9ed5625
Set "use_loan" for dds_read_wl correctly
eboasson Aug 31, 2023
6bff6dc
Use unique topic name in ddsc_psmx_basic test
eboasson Aug 31, 2023
1223284
Test read/read_wl produce private/shared copies
eboasson Aug 31, 2023
61e1774
Let dds_read/dds_take do real loans
eboasson Sep 4, 2023
6a5eb38
dds_request_loan: always one sample
eboasson Sep 4, 2023
3e65488
Avoid memset'ing pointer array in read/take
eboasson Sep 5, 2023
6e409d7
Consistent dds_return_loan behaviour
eboasson Sep 5, 2023
50fee09
Refactor: use RETCODE_OK instead of 0
eboasson Sep 5, 2023
1122e0b
psmx test: include psmx wr, non-psmx local reader
eboasson Sep 5, 2023
692de3d
Initializing serdata.loan doesn't need memset
eboasson Sep 5, 2023
2cfc768
Rely on via_psmx flag in deliver_locally_slowpath
eboasson Sep 6, 2023
8963473
Fix whitespace in azure build template
dpotman Sep 6, 2023
a1061eb
Fixes for some build and static analyzer issues
dpotman Sep 6, 2023
50632f7
Fix function parameter names in doxygen comments
dpotman Sep 6, 2023
217c85d
Fixup domain isolation in cdds_psmx plugin
dpotman Sep 6, 2023
1a6846c
Fix domain confusion in garbage collector caused by cdds_psmx plugin
dpotman Sep 6, 2023
23a4a52
Fix thread state allow nested_gv_allowed for Windows build
dpotman Sep 7, 2023
e5230b2
Missing ifdef for function ddsi_thread_nested_gv_allowed
dpotman Sep 7, 2023
7c4931a
Fix Windows CI for ddsi_thread_nested_gv_allowed
dpotman Sep 7, 2023
7be83a2
Fix cleanup for psmx zero-copy test
dpotman Sep 7, 2023
dc3b928
Increase time-out for psmx one_writer tests and replace return char
dpotman Sep 7, 2023
432875c
PSMX test: fix race on port number check
eboasson Sep 7, 2023
24cb0d7
Tweak memory usage checks in ddsperf
eboasson Sep 8, 2023
eee3013
Fix start/stop race in psmx cdds plugin
eboasson Sep 8, 2023
35ae34e
Use iox header for PSMX meta-data
dpotman Sep 11, 2023
8518914
Refactor dds_data_type_properties_t
eboasson Sep 11, 2023
8a3be85
Cleanup sertype properties and initialization
eboasson Sep 11, 2023
3bab872
Fix PSMX partition check
eboasson Sep 12, 2023
218061b
Pass type name to PSMX plug-in
eboasson Sep 12, 2023
3be2db0
Include attributes.h for ddsrt_nonnull macros
dpotman Sep 13, 2023
9f354f4
Cleanup up Iceoryx build integration
eboasson Sep 14, 2023
f7a222f
Handle incoming length-0 loan in cdds_psmx_impl
eboasson Sep 15, 2023
492b24b
PSMX support in dds_writecdr/forwardcdr
eboasson Sep 14, 2023
72558c7
Fix IOX plugin partition name handling
eboasson Sep 15, 2023
8c6bf57
Add PSMX test for forwardcdr using serdata that has refcount > 1
eboasson Sep 15, 2023
8cd6591
Set correct value for ENABLE_ICEORYX in case Iceoryx is not found
dpotman Sep 18, 2023
fc1f8df
Move loaned sample meta-data initialization to generic PSMX implement…
dpotman Sep 18, 2023
29e1082
Return a loaned_sample from dds_loan_shared_memory_buffer
dpotman Sep 18, 2023
28a54b0
Include features.h so that correct value of DDS_ALLOW_NESTED_DOMAIN s…
dpotman Sep 19, 2023
629af16
Make return type of dds_stream_data_types consistent with its declara…
dpotman Sep 19, 2023
5da81b8
Fix unreachable code warning in variouspub
eboasson Sep 19, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix for node id discovery in iox wrapper
Due to the limitations of strtoull the string retrieved from iox
needs to be chopped up into 2 character chunks, then converted

Signed-off-by: Martijn Reicher <martijn.reicher@zettascale.tech>
  • Loading branch information
reicheratwork authored and dpotman committed Sep 19, 2023
commit 6b044116ba3da97b7c412aaa68887d2c330fa777
9 changes: 7 additions & 2 deletions src/psmx_iox/src/psmx_iox_impl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -179,8 +179,13 @@ void iox_psmx::discover_node_id(dds_psmx_node_identifier_t node_id_fallback)
else if (node_ids_present == 1)
{
const char *s = outstr.c_str();
for (uint32_t n = 0; n < 16; n++)
_node_id.x[n] = (uint8_t) strtoul(s + 2 * n, nullptr, 16);
char c[3] = {0}; //we need to manually truncate the id string, since the output value is too large for stroull
for (uint32_t n = 0; n < 16; n++) {
c[0] = s[2*n];
c[1] = s[2*n+1];
_node_id.x[n] = (uint8_t) strtoul(c, nullptr, 16);
}
fprintf(stderr, "\n");
}
else
{
Expand Down