-
Notifications
You must be signed in to change notification settings - Fork 402
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
Use Zero-Copy receive in all IPC-Channel types and the posh IPC channel #1693
Comments
@lucabart97 once you are done with the |
What type of |
@lucabart97 with C++17 there is another option with |
what is the next step? 👀 |
No, the |
I don't know if I could work on |
@lucabart97 the nice thing is that you do not need Windows for |
… iox::string in MessageQueue" This reverts commit 890848f.
…ring in MessageQueue By default, the MessageQueue class relies on std::string objects to send and receive data, as defined by its interface. However, this approach can potentially lead to dynamic memory allocation when handling larger data payloads that exceed the stack space optimization (SSO) limit. To address this issue, an alternative API has been introduced that enables data transmission and reception using iox::string. This approach allows for direct data manipulation within stack memory, effectively eliminating the need for dynamic memory allocation. Signed-off-by: Luca Bartoli <[email protected]>
… iox::string in MessageQueue" This reverts commit 890848f.
…ring in MessageQueue By default, the MessageQueue class relies on std::string objects to send and receive data, as defined by its interface. However, this approach can potentially lead to dynamic memory allocation when handling larger data payloads that exceed the stack space optimization (SSO) limit. To address this issue, an alternative API has been introduced that enables data transmission and reception using iox::string. This approach allows for direct data manipulation within stack memory, effectively eliminating the need for dynamic memory allocation. Signed-off-by: Luca Bartoli <[email protected]>
By default, the NamedPipe class relies on std::string objects to send and receive data, as defined by its interface. However, this approach can potentially lead to dynamic memory allocation when handling larger data payloads that exceed the stack space optimization (SSO) limit. To address this issue, an alternative API has been introduced that enables data transmission and reception using iox::string. This approach allows for direct data manipulation within stack memory, effectively eliminating the need for dynamic memory allocation. Signed-off-by: Luca Bartoli <[email protected]>
By default, the NamedPipe class relies on std::string objects to send and receive data, as defined by its interface. However, this approach can potentially lead to dynamic memory allocation when handling larger data payloads that exceed the stack space optimization (SSO) limit. To address this issue, an alternative API has been introduced that enables data transmission and reception using iox::string. This approach allows for direct data manipulation within stack memory, effectively eliminating the need for dynamic memory allocation. Signed-off-by: Luca Bartoli <[email protected]>
iox-#1693 support for iox::string in NamedPipe
… iox::string in MessageQueue" This reverts commit 890848f.
…ring in MessageQueue By default, the MessageQueue class relies on std::string objects to send and receive data, as defined by its interface. However, this approach can potentially lead to dynamic memory allocation when handling larger data payloads that exceed the stack space optimization (SSO) limit. To address this issue, an alternative API has been introduced that enables data transmission and reception using iox::string. This approach allows for direct data manipulation within stack memory, effectively eliminating the need for dynamic memory allocation. Signed-off-by: Luca Bartoli <[email protected]>
… iox::string in MessageQueue" This reverts commit 890848f.
By default, the MessageQueue class relies on std::string objects to send and receive data, as defined by its interface. However, this approach can potentially lead to dynamic memory allocation when handling larger data payloads that exceed the stack space optimization (SSO) limit. To address this issue, an alternative API has been introduced that enables data transmission and reception using iox::string. This approach allows for direct data manipulation within stack memory, effectively eliminating the need for dynamic memory allocation. Signed-off-by: Luca Bartoli <[email protected]>
Brief feature description
Instead of using an API with an additional copy like:
cxx::expected<std::string, IpcChannelError> receive()
the user could provide a preallocated object like
iox::vector
oriox::string
where the received message is directly written into to avoid the additional copy. LikeTasks
iox::string
iox::vector
The text was updated successfully, but these errors were encountered: