> On Feb. 20, 2014, 8:16 p.m., Adam B wrote:
> > 3rdparty/libprocess/include/process/collect.hpp, lines 240-242
> > <https://reviews.apache.org/r/18311/diff/1/?file=498993#file498993line240>
> >
> >     Can the compiler automagically convert a Future<T> to a 
> > Future<Future<T> >?

Yes, that is template magic and this constructor template make it possible 
within future.hpp:

template <typename T>
Future<T>::Future(const T& _t)
  : data(new Data())
{
  set(_t);
}


> On Feb. 20, 2014, 8:16 p.m., Adam B wrote:
> > 3rdparty/libprocess/include/process/collect.hpp, lines 247-250
> > <https://reviews.apache.org/r/18311/diff/1/?file=498993#file498993line247>
> >
> >     Maybe I'm missing something here (Future template magic?), but don't 
> > you need to wrap the tuple<Future, Future> if you're going to return a 
> > Future<tuple<Future, Future> >?

See above.


> On Feb. 20, 2014, 8:16 p.m., Adam B wrote:
> > 3rdparty/libprocess/include/process/collect.hpp, line 332
> > <https://reviews.apache.org/r/18311/diff/1/?file=498993#file498993line332>
> >
> >     Can we add something to the comment to clarify that this is actually 
> > the 'else' case of (__cplusplus >= 201103L)?

We do not do this in other cases (like deferred.hpp), hence I followed that 
pattern.


> On Feb. 20, 2014, 8:16 p.m., Adam B wrote:
> > 3rdparty/libprocess/include/process/collect.hpp, lines 229-235
> > <https://reviews.apache.org/r/18311/diff/1/?file=498993#file498993line229>
> >
> >     Why delete the Promise* here? What if the caller were still using it? 
> > Can we use shared/owned pointers here to clarify?

I think this could in fact not happen. But on the other hand, clear signals are 
great, hence I changed to Owned variant.


> On Feb. 20, 2014, 8:16 p.m., Adam B wrote:
> > 3rdparty/libprocess/include/process/collect.hpp, lines 46-51
> > <https://reviews.apache.org/r/18311/diff/1/?file=498993#file498993line46>
> >
> >     Why this new API? You've justified the tuple version, but not the 
> > single-future version. Or is this for composability?

It is mostly convenience. Not justifying it in be description was an omission I 
shall correct.


> On Feb. 20, 2014, 8:16 p.m., Adam B wrote:
> > 3rdparty/libprocess/include/process/c++11/collect.hpp, lines 46-48
> > <https://reviews.apache.org/r/18311/diff/1/?file=498992#file498992line46>
> >
> >     Do we need this when we have the other calls?
> >     s/future1/future/

See below.


> On Feb. 20, 2014, 8:16 p.m., Adam B wrote:
> > 3rdparty/libprocess/include/process/c++11/collect.hpp, lines 205-207
> > <https://reviews.apache.org/r/18311/diff/1/?file=498992#file498992line205>
> >
> >     So, await waits for all futures to be ready/failed/discarded, but 
> > collect waits for them all to be ready?

That is it, yes.


- TILL


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/18311/#review35015
-----------------------------------------------------------


On Feb. 20, 2014, 3:59 p.m., TILL TOENSHOFF wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/18311/
> -----------------------------------------------------------
> 
> (Updated Feb. 20, 2014, 3:59 p.m.)
> 
> 
> Review request for mesos, Adam B, Benjamin Hindman, Ben Mahler, Niklas 
> Nielsen, and Vinod Kone.
> 
> 
> Repository: mesos-git
> 
> 
> Description
> -------
> 
> Currently the Process::await implementation on list<Future>, by the nature of 
> std::list, expects equally typed futures. This new override implements await 
> for a tuple of futures, hence allows awaiting differently typed futures in a 
> single call.
> 
> A C++11 and a boost-based implementation have been added.
> 
> This patch also includes tests on that new feature.
> 
> 
> Diffs
> -----
> 
>   3rdparty/libprocess/include/process/c++11/collect.hpp PRE-CREATION 
>   3rdparty/libprocess/include/process/collect.hpp 2a73bc9 
>   3rdparty/libprocess/src/tests/process_tests.cpp e899aed 
> 
> Diff: https://reviews.apache.org/r/18311/diff/
> 
> 
> Testing
> -------
> 
> make check (clang c++11, gcc)
> 
> 
> Thanks,
> 
> TILL TOENSHOFF
> 
>

Reply via email to