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

Does using Iceoryx integration still require fixed size data type? #1975

Open
t0ny-peng opened this issue Apr 11, 2024 · 2 comments
Open

Does using Iceoryx integration still require fixed size data type? #1975

t0ny-peng opened this issue Apr 11, 2024 · 2 comments
Labels
documentation Improvements or additions to documentation

Comments

@t0ny-peng
Copy link
Contributor

In the Limitation chapter of the doc(https://cyclonedds.io/docs/cyclonedds/latest/shared_memory/limitations.html), it is mentioned that "The data types to be exchanged need to have a fixed size".

However, the ThroughputPublisher IDL file does contain a unbounded sequence of octer(uint8_t) and it can be used with Iceoryx as the shared memory optimization.

May I ask if that limitation has been lifted? Thanks!🙏

Background: We have variable length data stored in a sequence<octet> buffer and would like to enable the Iceoryx optimization.

sequence<octet> payload;

@t0ny-peng
Copy link
Contributor Author

From my test, CycloneDDS is compiled with Iceoryx (-DENABLE_ICEORYX=ON) and the XML config file enables Iceoryx (<PubSubMessageExchange name="iox" library="psmx_iox" config="LOG_LEVEL=DEBUG;"/>) , the throughput almost doubled than just using CycloneDDS along, which should indicate that Iceoryx is indeed being used.

The following is the output from iox-roudi

2024-04-11 14:45:09.232 [ Debug ]: Registered new application CycloneDDS-iox_psmx-5c0189fa3f81d5d8
2024-04-11 14:45:09.234 [ Debug ]: Created new ConditionVariable for application CycloneDDS-iox_psmx-5c0189fa3f81d5d8
2024-04-11 14:45:09.234 [ Debug ]: Created new SubscriberPort for application 'CycloneDDS-iox_psmx-5c0189fa3f81d5d8' with service description 'Service: ServiceDiscovery, Instance: RouDi_ID, Event: ServiceRegistry'
2024-04-11 14:45:09.235 [ Debug ]: Created new PublisherPort for application 'CycloneDDS-iox_psmx-5c0189fa3f81d5d8' with service description 'Service: CycloneDDS iox_psmx 3243198913, Instance: CycloneDDS-IOX-PSMX node_id discovery, Event: d8d5813ffa89015c0000000000000000'
2024-04-11 14:45:09.236 [ Debug ]: Registered new application CycloneDDS-iox_psmx-57aa1d5683be02d2
2024-04-11 14:45:09.238 [ Debug ]: capro::SUB/UNSUB, no matching publisher for subscriber from runtime 'CycloneDDS-iox_psmx-5c0189fa3f81d5d8' and with service description 'Service: CycloneDDS iox_psmx 3243198913, Instance: ThroughputModule::DataType, Event: Throughput example.Throughput'!
2024-04-11 14:45:09.238 [ Debug ]: Created new SubscriberPort for application 'CycloneDDS-iox_psmx-5c0189fa3f81d5d8' with service description 'Service: CycloneDDS iox_psmx 3243198913, Instance: ThroughputModule::DataType, Event: Throughput example.Throughput'
2024-04-11 14:45:09.238 [ Debug ]: Created new ConditionVariable for application CycloneDDS-iox_psmx-57aa1d5683be02d2
2024-04-11 14:45:09.238 [ Debug ]: Created new SubscriberPort for application 'CycloneDDS-iox_psmx-57aa1d5683be02d2' with service description 'Service: ServiceDiscovery, Instance: RouDi_ID, Event: ServiceRegistry'
2024-04-11 14:45:09.243 [ Debug ]: Created new PublisherPort for application 'CycloneDDS-iox_psmx-57aa1d5683be02d2' with service description 'Service: CycloneDDS iox_psmx 3243198913, Instance: ThroughputModule::DataType, Event: Throughput example.Throughput'
2024-04-11 14:45:09.331 [ Debug ]: Destroy subscriber port from runtime 'CycloneDDS-iox_psmx-5c0189fa3f81d5d8' and with service description 'Service: ServiceDiscovery, Instance: RouDi_ID, Event: ServiceRegistry'
2024-04-11 14:45:09.331 [ Debug ]: Destroy subscriber port from runtime 'CycloneDDS-iox_psmx-57aa1d5683be02d2' and with service description 'Service: ServiceDiscovery, Instance: RouDi_ID, Event: ServiceRegistry'

@eboasson
Copy link
Contributor

eboasson commented Apr 12, 2024

Thank you for your attention to detail! Yes, that restriction has been lifted quite some time ago and now all data types are supported.

I'll leave the issue open for tracking the required documentation update.

@eboasson eboasson added the documentation Improvements or additions to documentation label Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants