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

Commits on Sep 19, 2023

  1. Publish Subscribe Message Exchange (PSMX) Implementation

    Signed-off-by: Dennis Potman <[email protected]>
    Co-authored-by: Martijn Reicher <[email protected]>
    Co-authored-by: Erik Boasson <[email protected]>
    Co-authored-by: Thijs Miedema <[email protected]>
    4 people committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    e6fc9a9 View commit details
    Browse the repository at this point in the history
  2. Remove ref/unref from loaned sample ops

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    ec9d8b6 View commit details
    Browse the repository at this point in the history
  3. Rename data_origin to instance_id in psmx_metadata and change loan_or…

    …igin member in struct loaned_sample to enum with kind and psmx-instance ptr
    
    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    e754143 View commit details
    Browse the repository at this point in the history
  4. Refactoring reader loan impl after rebasing on read-collect

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    cb3a83a View commit details
    Browse the repository at this point in the history
  5. Rename loan manager to loan pool

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    3023531 View commit details
    Browse the repository at this point in the history
  6. Fix duplicate condition in if statement

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    284fc92 View commit details
    Browse the repository at this point in the history
  7. Fix loan test after rebasing loan impl on read-collect

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    cad8c15 View commit details
    Browse the repository at this point in the history
  8. Add psmx instance id validation in do_locator

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    6a58899 View commit details
    Browse the repository at this point in the history
  9. Disable ptr changed checks in loan test in case address sanitizer is …

    …not enabled
    
    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    0310c89 View commit details
    Browse the repository at this point in the history
  10. Fix analyzer issue in dds_qos_has_psmx_instances

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    4a871e6 View commit details
    Browse the repository at this point in the history
  11. Fix doxygen comment on dds_read_collect_sample_arg_init

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    ce3c982 View commit details
    Browse the repository at this point in the history
  12. Some minor refactoring in requesting writer loan wrt multiple psmx in…

    …stances
    
    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    f5ef159 View commit details
    Browse the repository at this point in the history
  13. Add contains-key flag to data type props and disallow iox when type h…

    …as a key
    
    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    148247c View commit details
    Browse the repository at this point in the history
  14. Some minor cleanup for removed data allocator

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    e6f4d15 View commit details
    Browse the repository at this point in the history
  15. Re-implement dds_is_shared_memory_available and endpoint_is_loan_avai…

    …lable based on PSMX and add op for getting supported-feature to PSMX instance ops
    
    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    0a1f7a4 View commit details
    Browse the repository at this point in the history
  16. Add (deprecated) dds_loan_api functions and move some function to dif…

    …ferent headers
    
    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    56e0f1b View commit details
    Browse the repository at this point in the history
  17. Remove calc_datatype_props from sertype ops

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    39eeb90 View commit details
    Browse the repository at this point in the history
  18. Minor cleanup in serdata_default

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    96511f6 View commit details
    Browse the repository at this point in the history
  19. Fix some comments and copyrights

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    3a82dab View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    d597701 View commit details
    Browse the repository at this point in the history
  21. Remove unused fields from psmx meta-data

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    2722be8 View commit details
    Browse the repository at this point in the history
  22. Fix psmx metadata cdr_identifier usage

    The cdr_identifier field in psmx meta-data should have a
    valid encapsulation identifier, not just the XCDR version
    (or undefined in case of a raw sample). This commit introduces
    a vendor specific RTPS encapsulation kind for a raw sample
    in native endianess, and it fixes the use of the
    cdr_identifier field.
    
    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    2a68a9d View commit details
    Browse the repository at this point in the history
  23. Add timestamp in psmx tests

    Replace the writes in psmx test with the with_timestamp
    variant, and a check on the source timestamp is added.
    The cdds psmx implementation did not set the timestamp
    when receiving a sample, so that is also fixed.
    
    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    4f4395d View commit details
    Browse the repository at this point in the history
  24. Check whether PSMX plugin supports keys

    If the plugin doesn't support keys then we have to skip tests with topic
    types that have keys.
    
    Signed-off-by: Martijn Reicher <[email protected]>
    reicheratwork authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    1eeff7a View commit details
    Browse the repository at this point in the history
  25. 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 <[email protected]>
    reicheratwork authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    6b04411 View commit details
    Browse the repository at this point in the history
  26. Removed hash field from psmx metadata

    Since the hash is something that is not transferable between different
    CycloneDDS processes, copying this is wrong, and recalculation is
    necessary
    
    Signed-off-by: Martijn Reicher <[email protected]>
    reicheratwork authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    8a289fd View commit details
    Browse the repository at this point in the history
  27. Add retention of return values in dds_return_reader_loan

    Not acting on or storing return values is dangerous in the best of
    cases, but in this, the functions called may invoke code not inside
    CycloneDDS, and the predictability of their results is therefore
    also not constant
    In this case, non-OK return codes will therefore now be an early
    exit condition and a return of the function
    
    Signed-off-by: Martijn Reicher <[email protected]>
    reicheratwork authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    943a745 View commit details
    Browse the repository at this point in the history
  28. Added deprecated attribute to functions which are now deprecated

    The functions dds_is_loan_available and dds_loan_sample are now
    deprecated in the documentation, but this was not yet implemented for
    their attributes. This caused CLang issues as warnings are treated as
    errors.
    
    Signed-off-by: Martijn Reicher <[email protected]>
    reicheratwork authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    40d17d9 View commit details
    Browse the repository at this point in the history
  29. Move ddsperf sanity check to its own pipeline step

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    88242f6 View commit details
    Browse the repository at this point in the history
  30. Update fuzzers for changed ddsi_init interface

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    31cb314 View commit details
    Browse the repository at this point in the history
  31. Distinguish between raw keys/samples in PSMX

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    ce462da View commit details
    Browse the repository at this point in the history
  32. Drop unused loaned_sample reset function

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    e266ba6 View commit details
    Browse the repository at this point in the history
  33. Inline loaned_sample_ref/unref, drop external free

    For refcounted data, calling unref rather than simply freeing the data
    is the correct way.  The only (real) call to dds_loaned_sample_free was
    in the error path of requesting a writer loan, so no reason to keep it
    around.
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    c8a534c View commit details
    Browse the repository at this point in the history
  34. Remove mutex/backrefs from loan pool/loan

    All dead code: the back refs are not used anywhere and the loan pools
    are only manipulated while holding the lock of the reader/writer that
    owns the pool, so the mutex is not needed.
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    7ae89aa View commit details
    Browse the repository at this point in the history
  35. Return OK on success for dds_request_loan

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    57baf17 View commit details
    Browse the repository at this point in the history
  36. PSMX test: check data in all readers + some fixes

    Not just those in domain 0.
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    fd03cd7 View commit details
    Browse the repository at this point in the history
  37. write: only compute size if a PSMX loan is needed

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    6f17d7a View commit details
    Browse the repository at this point in the history
  38. Clean up dds_request_writer_loan

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    baa5c17 View commit details
    Browse the repository at this point in the history
  39. Clean up dds_write a bit

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    2a61d87 View commit details
    Browse the repository at this point in the history
  40. dds_read rework + reader heap loan cache

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    546fe51 View commit details
    Browse the repository at this point in the history
  41. Merge PSMX type and QoS compatibility check

    They always come in pairs, and knowing whether the topic is keyed or not
    is necessary if the underlying service does not natively supports keys
    but does support blocking: in that case, keyed volatile data is ok, but
    non-volatile data is not.
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    9433224 View commit details
    Browse the repository at this point in the history
  42. Improve heap loans a bit

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    d1cf446 View commit details
    Browse the repository at this point in the history
  43. Map QoS settings to Iceoryx options

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    a9a1231 View commit details
    Browse the repository at this point in the history
  44. IOX plugin: add locking + some refactoring

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    c1411eb View commit details
    Browse the repository at this point in the history
  45. Update symbol_export (dds_psmx_supported_features)

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    ed32768 View commit details
    Browse the repository at this point in the history
  46. ddsperf: more unkeyed types + writer loans

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    a67c1dc View commit details
    Browse the repository at this point in the history
  47. Add SERVICE_NAME option to Cyclone-based PSMX

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    c582d53 View commit details
    Browse the repository at this point in the history
  48. Run Cyclone-based PSMX plugin in isolation

    They induce a lot of load because of the huge amount of discovery, and I
    suspect that causes them to fail on CI.  Especially the Cyclone-based
    PSMX implementation is nasty.
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    eb631d3 View commit details
    Browse the repository at this point in the history
  49. PSMX test: fake multiple hosts using SERVICE_NAME

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    495f3ef View commit details
    Browse the repository at this point in the history
  50. wip: avoid PSMX locators for unicast purposes

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    8874b4a View commit details
    Browse the repository at this point in the history
  51. Fix SharedMemory config option (backwards compat)

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    a07c9bb View commit details
    Browse the repository at this point in the history
  52. Fix checks for use of PSMX in endpoint match

    This (inefficiently) allows for multiple PSMX instances in the checking
    code, but there are many more places where multiple PSMX instances need
    extra work.
    
    This makes the "local_psmx" flag on proxy endpoints unused.
    
    Arguably, ddsi_plist do_locator should filter out irrelevant PSMX
    locators, why carry them round if you're never going to use them?
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    8ff14a7 View commit details
    Browse the repository at this point in the history
  53. Set KEYED_TOPICS=true in PSMX tests

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    4303d8c View commit details
    Browse the repository at this point in the history
  54. Work towards writer address set calculation test

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    b8adb1f View commit details
    Browse the repository at this point in the history
  55. ddsperf: use dds_take_wl instead of dds_take

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    ddd3219 View commit details
    Browse the repository at this point in the history
  56. dds_read/dds_take: always provide a copy

    Pointers to shared copies of data (shared across data readers, possibly
    across processes if using PSMX) should only be returned by the "with
    loan" variants.
    
    This commit takes care of that and documents the behaviour in much
    greater detail, especially also with respect to the use of the pointer
    array that read/take use for returning samples.
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    e6cbec9 View commit details
    Browse the repository at this point in the history
  57. Set "use_loan" for dds_read_wl correctly

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    9ed5625 View commit details
    Browse the repository at this point in the history
  58. Use unique topic name in ddsc_psmx_basic test

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    6bff6dc View commit details
    Browse the repository at this point in the history
  59. Test read/read_wl produce private/shared copies

    Read (non-_wl) must always result in private copies (as per the
    documentation), so that is easy to check.
    
    Read-with-loan may or may not return shared copies, and which of the two
    happens is highly implementation dependent, both of Cyclone's core and
    of a PSMX plugin. This test checks it against current behaviour, in
    particular verifying zero-copy and shared loans of self-contained data
    types in combination with Iceoryx.
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    1223284 View commit details
    Browse the repository at this point in the history
  60. Let dds_read/dds_take do real loans

    With this commit, dds_read/dds_take and all variants now return pointers
    to shared copies of data if this is possible (which it not always is).
    As a consequence, modifying the contents of the loans will have possibly
    disastrous effects, whereas before one could away with it.
    
    If a private copy is required, the application must now allocate the
    memory itself (if there are any embedded pointers, those must be null
    pointers).  One must now do:
    
        void *sampleptr = dds_alloc (sizeof (T));
        dds_take (reader, &sampleptr, sampleinfo, 1, 1);
        ...
        dds_sample_free (sampleptr, &T_desc, DDS_FREE_ALL);
    
    to get a private copy in heap-allocated memory. (Obviously, other
    allocation/freeing routines are ok as well.)
    
    This is a breaking change and it has not been done lightly.  The
    considerations are:
    
    - This really only breaks applications that modify "loaned" memory,
      which has always been dodgy behaviour at best, and is assumed to be
      extremely rare in application code.
    
    - The majority of applications will now benefit from zero-copy behaviour
      where it is supported, and without having to worry about which API
      function is the appropriate one to use.
    
    - It reduces the API surface.
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    61e1774 View commit details
    Browse the repository at this point in the history
  61. dds_request_loan: always one sample

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    6a5eb38 View commit details
    Browse the repository at this point in the history
  62. Avoid memset'ing pointer array in read/take

    With the concomitant changes to the circumstances under which an entry
    is set to a null pointer and corresponding updates to the documentation.
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    3e65488 View commit details
    Browse the repository at this point in the history
  63. Consistent dds_return_loan behaviour

    This makes the behaviour consistent between readers and writers.
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    6e409d7 View commit details
    Browse the repository at this point in the history
  64. Refactor: use RETCODE_OK instead of 0

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    50fee09 View commit details
    Browse the repository at this point in the history
  65. psmx test: include psmx wr, non-psmx local reader

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    1122e0b View commit details
    Browse the repository at this point in the history
  66. Initializing serdata.loan doesn't need memset

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    692de3d View commit details
    Browse the repository at this point in the history
  67. Rely on via_psmx flag in deliver_locally_slowpath

    Note that this requires the first/next reader operations passed in to
    check the flag and skip readers that have it set, but that is perfectly
    reasonable.
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    2cfc768 View commit details
    Browse the repository at this point in the history
  68. Fix whitespace in azure build template

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    8963473 View commit details
    Browse the repository at this point in the history
  69. Fixes for some build and static analyzer issues

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    a1061eb View commit details
    Browse the repository at this point in the history
  70. Fix function parameter names in doxygen comments

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    50632f7 View commit details
    Browse the repository at this point in the history
  71. Fixup domain isolation in cdds_psmx plugin

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    217c85d View commit details
    Browse the repository at this point in the history
  72. Configuration menu
    Copy the full SHA
    1a6846c View commit details
    Browse the repository at this point in the history
  73. Fix thread state allow nested_gv_allowed for Windows build

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    23a4a52 View commit details
    Browse the repository at this point in the history
  74. Missing ifdef for function ddsi_thread_nested_gv_allowed

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    e5230b2 View commit details
    Browse the repository at this point in the history
  75. Fix Windows CI for ddsi_thread_nested_gv_allowed

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    7c4931a View commit details
    Browse the repository at this point in the history
  76. Fix cleanup for psmx zero-copy test

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    7be83a2 View commit details
    Browse the repository at this point in the history
  77. Increase time-out for psmx one_writer tests and replace return char

    with newline (to get proper output on CI for failing Windows builds)
    
    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    dc3b928 View commit details
    Browse the repository at this point in the history
  78. PSMX test: fix race on port number check

    When we switch from a dds to a psmx writer, we start with just one local
    reader and expect that there are no locators in the writer's address
    set, but:
    
    - if there is no unacknowledged data in the writer at the time it gets
      deleted, and
    
    - the discovery of the demise of the old readers may not have taken
      place yet at the time of creation of the writer, and
    
    - consequently the writer was matched with the old readers, and then
    
    - the discovery of said demise happens just prior to fetching the list
      of matched subscriptions, and
    
    - also prior to the GC performing the actual unmatching of the proxy
      readers
    
    and the waitset in "allmatched" is spinning/happens to wake up at the
    right time, then the test code will see the correct set of readers, but
    there are still some ports lingering around.  It is very unlikely, but
    it can happen.
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    432875c View commit details
    Browse the repository at this point in the history
  79. Tweak memory usage checks in ddsperf

    * Track current value for a few seconds before freezing it as the
      reference value
    
    * Add a custom allocator wrapper that tracks exact memory usage, because
      RSS turns out to be too fragile (RSS is also still available)
    
    * Tweak sanity check script to use a tight live memory bound and a
      generous RSS bound
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    24cb0d7 View commit details
    Browse the repository at this point in the history
  80. Fix start/stop race in psmx cdds plugin

    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    eee3013 View commit details
    Browse the repository at this point in the history
  81. Use iox header for PSMX meta-data

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    35ae34e View commit details
    Browse the repository at this point in the history
  82. Refactor dds_data_type_properties_t

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    8518914 View commit details
    Browse the repository at this point in the history
  83. Cleanup sertype properties and initialization

    * Add ddsi_sertype_init_props
    * Clean up sertype flags
    * Rename IS_FIXED_SIZE to IS_MEMCPY_SAFE
    * Delete useless "psmx endpoint serialization required"
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    8a3be85 View commit details
    Browse the repository at this point in the history
  84. Fix PSMX partition check

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    3bab872 View commit details
    Browse the repository at this point in the history
  85. Pass type name to PSMX plug-in

    Integrating (for example) application code using Iceoryx with Cyclone
    DDS + PSMX + Iceoryx requires that the application knows the type name.
    So we must pass it to the plug-in.
    
    It seems to be best to use the actual type name by default for this
    reason.
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    218061b View commit details
    Browse the repository at this point in the history
  86. Include attributes.h for ddsrt_nonnull macros

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    3be2db0 View commit details
    Browse the repository at this point in the history
  87. Cleanup up Iceoryx build integration

    * ENABLE_SHM => ENABLE_ICEORYX
    
    * No code referencing Iceoryx remaining in the core, except in
      code for supporting backwards compatibility
    
    * No more references to iceoryx_binding_c
    
    * CI builds use "iceoryx" instead of "psmx_iox"
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    9f354f4 View commit details
    Browse the repository at this point in the history
  88. Handle incoming length-0 loan in cdds_psmx_impl

    For keyless topics, a serialized key has length 0, for which dds_take
    leaves the _buffer field a null pointer.
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    f7a222f View commit details
    Browse the repository at this point in the history
  89. PSMX support in dds_writecdr/forwardcdr

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    492b24b View commit details
    Browse the repository at this point in the history
  90. Fix IOX plugin partition name handling

    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    72558c7 View commit details
    Browse the repository at this point in the history
  91. Add PSMX test for forwardcdr using serdata that has refcount > 1

    Signed-off-by: Dennis Potman <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    8c6bf57 View commit details
    Browse the repository at this point in the history
  92. Set correct value for ENABLE_ICEORYX in case Iceoryx is not found

    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    8cd6591 View commit details
    Browse the repository at this point in the history
  93. Move loaned sample meta-data initialization to generic PSMX implement…

    …ation
    
    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    fc1f8df View commit details
    Browse the repository at this point in the history
  94. Return a loaned_sample from dds_loan_shared_memory_buffer

    Update (and rename) dds_loan_shared_memory_buffer so that it
    returns a dds_loaned_sample_t and not just a raw loan pointer
    (that can't be used with dds_write because the buffer is not
    registered in the loan administration). With this change, the
    loaned sample (with custom size) can be used with the regular
    write function; only difference with the regular request_loan
    is that the user can specify the size in this case.
    
    The request_raw_loan fn prototype is removed from the PSMX
    endpoint ops; request_loan with the user-specified size
    is used instead.
    
    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    29e1082 View commit details
    Browse the repository at this point in the history
  95. Include features.h so that correct value of DDS_ALLOW_NESTED_DOMAIN s…

    …etting is used
    
    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    28a54b0 View commit details
    Browse the repository at this point in the history
  96. Make return type of dds_stream_data_types consistent with its declara…

    …tion
    
    Signed-off-by: Dennis Potman <[email protected]>
    dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    629af16 View commit details
    Browse the repository at this point in the history
  97. Fix unreachable code warning in variouspub

    ... by adding SIGINT handler that terminates the process cleanly.
    
    Signed-off-by: Erik Boasson <[email protected]>
    eboasson authored and dpotman committed Sep 19, 2023
    Configuration menu
    Copy the full SHA
    5da81b8 View commit details
    Browse the repository at this point in the history