Re: RTT-Introspection and how to do it ?
Sylvain Joyeux <[email protected]> Wed, 25 Mar 2015 16:29:00 -0300
| Newsgroups | gmane.science.robotics.orocos.devel |
|---|---|
| Message-ID | <CAFENT7Kuy=hVuuinGoCwppFYMtmCPLZhHZwRTDmUBN124=ENOw@mail.gmail.com> |
2015-03-25 12:25 GMT-03:00 Janosch Machowinski <[email protected]>: > To gather the introspection information, the TaskContextServer (or > whatever else you use) would need to iterate over the channel elements > of the ConnectionManager and output it. Big plus, of there is a > BufferChannelElement in between, one could also ask it for its > fill status. > Thoughts on this ? Could you *please* start by saying what is your problem with the solution I've proposed, apart from it being coming from me ? I literally spend hours and lots of (virtual) ink trying to tell you why I don't like your solution. The only thing I get back is two lines ("I don't like X because it would require me to modify the proxies", yes, and ?) To make things absolutely clear: to me, the way it is coded is not the main issue. The *concept* of how you want to implement this little part of "introspection" is the issue. Having a getURI method or moving strings around do not change the underlying problem: such an API has no place in RTT. *Nothing* beats leaving toolchain concerns to the toolchain. Identifying tasks and ports ? That's a toolchain concern, you do NOT know how toolchains might want to represent and resolve tasks and ports. Heck, you did not seem to know how orocos.rb was. And it avoids bogging RTT's code, which is already complex enough. To add insult to injury, you seem determined to pass on the opportunity of creating a cheap way to store and retrieve channel-specific metadata. What's wrong with filling default values with something RTT already has (task and port names) if the expected field(s) are not already filled exactly? You get what you want and so do I: the flexibility of giving the toolchain(s) to do their job while still providing a low-level functionality that is limited but "works" (for a limited meaning of "works"). (Again: how do you deal with multiple naming services ? Multiple ROS servers ? You would have to "feed" that information to RTT, which either means modifying the tooling to do it (!) but still telling RTT that he has to ignore it (i.e. creating a way for the toolchain to store a URI that is tooling-specific *and* provide "on the side" the name RTT expects) or moving a multi-NS system into RTT. Yuk.) In other words, you force your vision of how RTT should be used on the developers (present and future) of the toolchains using RTT. Which is exactly what RTT succeeded in avoiding so far. Sylvain -- Orocos-Dev mailing list [email protected] http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev