Re: RTT-Introspection and how to do it ?
Janosch Machowinski <[email protected]> Tue, 31 Mar 2015 14:06:17 +0200
| Newsgroups | gmane.science.robotics.orocos.devel |
|---|---|
| Message-ID | <[email protected]> |
Am 30.03.2015 um 15:19 schrieb Sylvain Joyeux:
>> /**
>> * Returns the connection manager of this port (if any).
>> * This method provides access to the internals of this port
>> * in order to allow connection introspection.
>> * @return null if no such manager is available, or the manager
>> * otherwise.
>> * @see ConnectionManager::getChannels() for a list of all
>> * connections of this port.
>> */
>> virtual const internal::ConnectionManager* getManager() const = 0;
> This is pretty horribly bad.
>
> Giving direct access to the channels is a really really bad idea.
> Channel memory management is very sensitive and currently pretty
> horrible. I was very much hoping to clean it up (in particular, remove
> the bloody need for mutexes everywhere). Having it as public pretty
> much makes it impossible. By the way, enumerating channels is
> currently really really broken in that respect: i.e. doing what you
> aim at with getManager() while others are connecting/disconnecting
> will lead to big troubles.
>
> I would love to have comments from Peter on this (the original commit
> is from RTT2's inception).
>
> Sylvain
Hm,
ok, sounds like we need to sort this out. I did a first proof
of concept implementation using the current API. The results
look pretty promising. The code can be found here :
https://github.com/orocos-toolchain/rtt/pull/90
Greetings
Janosch
--
Dipl. Inf. Janosch Machowinski
SAR- & Sicherheitsrobotik
Universität Bremen
FB 3 - Mathematik und Informatik
AG Robotik
Robert-Hooke-Straße 1
28359 Bremen, Germany
Zentrale: +49 421 178 45-6611
Besuchsadresse der Nebengeschäftstelle:
Robert-Hooke-Straße 5
28359 Bremen, Germany
Tel.: +49 421 178 45-6614
Empfang: +49 421 178 45-6600
Fax: +49 421 178 45-4150
E-Mail: [email protected]
Weitere Informationen: http://www.informatik.uni-bremen.de/robotik
--
Orocos-Dev mailing list
[email protected]
http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev