-
Notifications
You must be signed in to change notification settings - Fork 162
Move create_node and create_node_builder back to the rclrs module #200
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
Conversation
6d4368d
to
a3c6c40
Compare
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 not want it as a method of context?
@nnmm doesn't really make sense to have them there, If you have questions, please don't mark your review as needing changes, it blocks the PR from being merged when it already has an approval. |
Yes, I almost never use "changes requested" for this reason, but in this case the change doesn't seem beneficial to me, so I intentionally wanted to block it until we've had a chance to reach an agreement. |
I thought this had been discussed earlier? If I recall correctly, neither |
The origin of the current API might be an accident, but that doesn't necessarily mean it's bad. As for API similarity, the crux is that as far as I know, the most common pattern in both
So, of course there it makes sense for |
I'm not opposed to having both, by the way. Although I don't understand why Another comment: |
We did discuss this, as @jhdcs pointed out. And there's an agreement, two of us agree on this change. We've had instances were two people agreed on something and one was not fully on board (e.g. I was the one who didn't agree), but we as a project went with the change, because there's really no other way than going with what the majority decides.
Why both? There should be one clear API to create nodes. And it should be the one that resembles the other client libraries the most, because that's what people learn.
Yes, I did. At the time it wasn't clear how we'd instantiate
What does that have anything to do with this discussion? I don't understand. |
Yes, majority voting is fine (though I feel that we could also ping people in our Matrix chat as a tiebreaker, some of them are quite experienced in Rust/ROS). Please don't take my "changes requested" as insistence that your PR must not be merged, but just as a way to delay until the arguments have been heard. I'll remove it soon, one way or another. I don't know which earlier discussion you're talking about, but in the issue, I didn't get a chance to express my view before you opened the PR.
I'm not sure if we're talking about the same thing here – my question was about
If your goal is API similarity, a function with a very different signature doesn't achieve that (completely). |
Anyway, I haven't yet seen a direct response to the point I've been trying to make. I'll restate it to maybe make it clearer:
|
The process is quite well established, up until now we've trusted each others' judgement and when two of us didn't agree, the third one would help resolve the tie. It's proven quite successful and I'm happy that we've respected the process so far, even when I was on the "losing" side. Regarding Matrix, ROS2 developers don't ask on Discourse every API change, nothing would get done ever.
We don't wait for everyone to express their view before we open a PR, that has never happened.
My goal with
Because only 30 minutes have passed, that's why the Matrix chat is such a terrible channel for having discussions. GitHub threads lend themselves to more asynchronous conversations.
I think it's the opposite,
That is a separate issue, and I agree that inheriting from
That has nothing to do with this PR.
That is a separate issue, only tangentially related to this PR, but not what we're discussing here. |
a3c6c40
to
b5dbb68
Compare
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.
@esteve I'll reply to the meta/process issues elsewhere. But on the topic itself:
I still find my points convincing, and prefer not to follow rclpy
here. The argument from the composition API is a bit vague imo, I'm not even sure we ever need a Node
trait. But at this point I don't feel like anyone has incomplete information, and I'll remove the blocker from my review.
I'd just like to hear from @jhdcs whether his opinion has stayed the same after hearing mine.
My opinion is unchanged at the moment. In my mind, In the end, I feel that using With respect to the issue that an explicit context is required in our client library, as opposed to the other libraries (which tend to start things off with a Anyways, this has been a long and meandering post, so to sum up:
|
However, I will note there appear to be build errors. |
Yeah, agree that |
@nnmm there doesn't seem to be any reference to |
Oh, that's fine then. |
Closes #161