-
Notifications
You must be signed in to change notification settings - Fork 161
RUST: RegDescList and XferDescList APIs #828
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
base: main
Are you sure you want to change the base?
Conversation
👋 Hi evgeny-leksikov! Thank you for contributing to ai-dynamo/nixl. Your PR reviewers will review your contribution then trigger the CI to test your changes. 🚀 |
a0684b8
to
f89cb64
Compare
f89cb64
to
aab2365
Compare
aab2365
to
7656037
Compare
/build |
inner: NonNull<bindings::nixl_capi_reg_dlist_s>, | ||
_phantom: PhantomData<&'a dyn NixlDescriptor>, | ||
// Track descriptors internally for comparison purposes | ||
descriptors: Vec<RegDescriptor>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need to maintain duplicate storage, with all the implications?
Instead of simply exposing operators from C++...
Am I missing something?
patch.txt
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Index and IndexMut
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like a nice optimization, but I'm afraid some of those APIs may have (or will have in the future) some side effects and checks that we are skipping that way, IMO RegDescList should call the bindings directly, and maybe have another struct called "CachedRegDescList" or make those implementations interchangeable with a configuration flag, making it less error prone, giving a simple workaround in case some incosistencies happen on users end because of this.
/build |
- equality operators - set/get - get index Signed-off-by: Evgeny Leksikov <[email protected]>
Add SyncManager absraction to replace manual control Signed-off-by: Evgeny Leksikov <[email protected]>
caefe51
to
dbbf296
Compare
What?
RegDescList and XferDescList missed APIs: