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

Consider templatizing outgoing data buffer container #11

Open
cliffg-softwarelibre opened this issue Apr 2, 2019 · 1 comment
Open
Assignees
Labels
design enhancement Software design improvement, improving genericity

Comments

@cliffg-softwarelibre
Copy link
Member

As of April 2019 outgoing buffers are hard-coded to const-shared-buffer. This could be templatized, allowing application code to use other types for outgoing buffers. However, the hard constraint on the type is that the lifetime of the underlying data buffer must be valid until notification is received within chops-net-ip that the data has been delivered. const-shared-buffer is a reference counted buffer, which satisfies this constraint. Buffers that move may also satisfy this constraint, although some analysis needs to be performed. Static / global data buffers also satisfy the constraint, although then it is up to the application to manage which static / global buffer is being used or not.

Making this design change will affect many portions of the code and API, so this is not a simple or trivial redesign.

@cliffg-softwarelibre cliffg-softwarelibre added the design enhancement Software design improvement, improving genericity label Apr 2, 2019
@n-deutsch n-deutsch self-assigned this Nov 12, 2019
@cliffg-softwarelibre
Copy link
Member Author

Note that this is not critical for first release (it is not listed as first release criteria), but will definitely be mentioned in "under consideration for future release".

This also is related to issue #35 and #10. I'll add a discussion item (for Nathan and Roxanne) in the team discussion area.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design enhancement Software design improvement, improving genericity
Projects
None yet
Development

No branches or pull requests

2 participants