SendHandle: missing methods

Hi

in the Orocos Component Builder's Manual we can see that the SendHandle has 3 methods (collect, collectIfDone and ret), But when i'm going to use them, the only one that exists is collect(). I'm using the orocos_toolchain_ros. could that be the problem? is there any other way to get the returned values besides ret()?

On the other hand, i would like to know how do these SendHandles manage the operations that pass values by reference and pointers.

thanks

BR

santiago

SendHandle: missing methods

2011/5/14 <focke [dot] 85 [..] ...>

> Hi
>
> in the Orocos Component Builder's Manual we can see that the SendHandle
> has 3 methods (collect, collectIfDone and ret), But when i'm going to use
> them, the only one that exists is collect(). I'm using the
> orocos_toolchain_ros. could that be the problem? is there any other way to
> get the returned values besides ret()?
>

The manual is still no clear about opeation call in C++. Is it possible
that some code line are outdated ?
The code docs here :
http://www.orocos.org/stable/documentation/rtt/v2.5.x/api/html/classRTT_...
is not more clear.

Moreover nothing is told about how you can test that the
getOperation("myOperationThatIsNotExisting") will succeed (or not).

>
> On the other hand, i would like to know how do these SendHandles manage
> the operations that pass values by reference and pointers.
>
> thanks
>
> BR
>
> santiago
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>

SendHandle: missing methods

On Fri, Sep 21, 2012 at 3:15 PM, Willy Lambert <lambert [dot] willy [..] ...> wrote:
>
>
> 2011/5/14 <focke [dot] 85 [..] ...>
>
>> Hi
>>
>> in the Orocos Component Builder's Manual we can see that the SendHandle
>> has 3 methods (collect, collectIfDone and ret), But when i'm going to use
>> them, the only one that exists is collect(). I'm using the
>> orocos_toolchain_ros. could that be the problem? is there any other way to
>> get the returned values besides ret()?

All three functions exist on all SendHandle objects.

>
>
> The manual is still no clear about opeation call in C++. Is it possible that
> some code line are outdated ?

Can you point to a section in the manual ?

> The code docs here :
> http://www.orocos.org/stable/documentation/rtt/v2.5.x/api/html/classRTT_...
> is not more clear.

Yeah... Doxygen can't guess what the templated base classes will be,
so the functions are indeed missing from the API docs.

>
> Moreover nothing is told about how you can test that the
> getOperation("myOperationThatIsNotExisting") will succeed (or not).

You can check if it returns zero or not, and if you would store in an
OperationCaller directly, check this oc object for .ready().

Peter

SendHandle: missing methods

On Fri, Sep 21, 2012 at 03:15:27PM +0200, Willy Lambert wrote:
> 2011/5/14 <focke [dot] 85 [..] ...>
>
> > Hi
> >
> > in the Orocos Component Builder's Manual we can see that the SendHandle
> > has 3 methods (collect, collectIfDone and ret), But when i'm going to use
> > them, the only one that exists is collect(). I'm using the
> > orocos_toolchain_ros. could that be the problem? is there any other way to
> > get the returned values besides ret()?
> >
>
> The manual is still no clear about opeation call in C++. Is it possible
> that some code line are outdated ?
> The code docs here :
> http://www.orocos.org/stable/documentation/rtt/v2.5.x/api/html/classRTT_...
> is not more clear.
>
> Moreover nothing is told about how you can test that the
> getOperation("myOperationThatIsNotExisting") will succeed (or not).

Just wondering... for me these methods mimics the C++0x futures/promises (?).
Would not it be better to align the naming with the C++ convention?

PS What I miss in the RTT implementation is the composability of SendHandles,
i.e. ability to wait for completion of _one_ of several asynchronous
operations. This is, however, missing also in C++0x (see here for details:
http://bartoszmilewski.com/2009/03/03/broken-promises-c0x-futures/).