-
Notifications
You must be signed in to change notification settings - Fork 163
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
Waitset timestamp fields #591
Conversation
@dirk-thomas @wjwwood are you generally okay with the field additions to the existing structs? if yes, I could proceed with further work that's actually using them. |
Hey @JaimeMartin @MiguelCompany this is the start of timestamp information in rmw/rcl. It is intended that these fields are filled by the middleware with the arrival timestamp of messages. I would like to start a discussion with you guys on how to best provide this information. |
Connects to ros2/design#259. |
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.
I had a few style nitpicks, but otherwise lgtm.
We should consider any necessary updates to the tests and documentation as well.
Would it be enough to have a get_first_unread_sample_info on the subscribers that could be called from rmw_wait when necessary? |
That should work and would probably provide the most accurate information, however we are a bit concerned about performance. Reading the sample info seems like it would require deserialization. Also, since one of the other things we have identified is that we might potentially need to call rmw_wait more often, we should keep this as performant as possible. One other idea I had is that you could keep the listener attached to the objects across calls to wait, and then store the current time within the callback that gets notified upon changes. This would likely incur almost no overhead and still provide good-enough information. |
As said in ros2/rmw#200, I think we need to test everything in rcl, since it does the relevant work. However, in @wjwwood is that intentionally? I mean, I'd be happy to add a test for the contents, but I'm wondering what the current lack of such tests should tell me. |
I don't think it is intentional, but |
For the test I added, I'm fairly certain I just copied one of the existing tests and modified it minimally to exercise the API I added. |
Alright, @wjwwood @jacobperron thanks for the info. I'll add a test looking at all the fields, then. |
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.
lgtm other than nitpicks
Alright folks, this now has a test for presence of timestamps, and in ros2/rmw_fastrtps#359 we have an implementation of timestamps for subscriptions, clients and services that passes the test. |
Both the standard wait_set and internal structures got the timestamps. Currently, the fields are not used. Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
…ebohle Ingo (CR/AEX3) <[email protected]> Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
@iluetkeb ironically, I don't have access to the fork of boschresearch, so I can't push a fix on your branch. I think what's missing here is the following:
|
Signed-off-by: Luetkebohle Ingo (CR/AEX3) <[email protected]>
That include is not actually necessary, since I moved the relevant test to I also added you to the correct team for our forks. |
I'm sorry I'm coming to this late. It seems like a bad idea, and I think should be strongly reconsidered. ros2/design#259 (comment) |
@rotu I have commented in the design issue and I hope I could address your concerns. It is a bit late now, in my case literally because I'm in Europe, where it's currently half past eight 😉 So I will log off after this comment, and tomorrow being Good Friday, I won't work. If you have further concerns, I can only contribute further on Saturday or (preferably) after Easter. Hope that's enough! Happy Holidays to you all. |
Closed in favor of #619 |
Both the standard wait_set and internal structures got the timestamps.
Currently, the fields are not used.
Also see ros2/rmw#200