Skip to content

Conversation

evgeny-leksikov
Copy link
Contributor

@evgeny-leksikov evgeny-leksikov commented Sep 26, 2025

What?

RegDescList and XferDescList missed APIs:

  • equality operators
  • set/get
  • get index

Copy link

👋 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.

🚀

@evgeny-leksikov evgeny-leksikov changed the title RUST: RegDescList and XferDescList missed APIs RUST: RegDescList and XferDescList APIs Sep 26, 2025
@evgeny-leksikov evgeny-leksikov marked this pull request as ready for review September 26, 2025 14:34
@evgeny-leksikov
Copy link
Contributor Author

/build

inner: NonNull<bindings::nixl_capi_reg_dlist_s>,
_phantom: PhantomData<&'a dyn NixlDescriptor>,
// Track descriptors internally for comparison purposes
descriptors: Vec<RegDescriptor>,
Copy link
Contributor

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

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Index and IndexMut

Copy link
Contributor

@roiedanino roiedanino Oct 12, 2025

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.

@ovidiusm
Copy link
Contributor

/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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants