You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by Vinod Kone <vi...@gmail.com> on 2012/08/17 02:29:10 UTC

Review Request: Async function execution abstraction

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

Review request for mesos, Benjamin Hindman, John Sirois, and Jie Yu.


Description
-------

Created a new abstraction called async() (which is similar in C++11 async).

The idea is a user could use this abstraction to delegate blocking calls (eg: system calls).

The implementation is a bit messy, because C++ compiler is not very smart. But, the usage is pretty simple.


Diffs
-----

  third_party/libprocess/include/process/async.hpp PRE-CREATION 
  third_party/libprocess/src/tests.cpp 8f4b2ae 

Diff: https://reviews.apache.org/r/6668/diff/


Testing
-------

(inside libprocess)

make check


Thanks,

Vinod Kone


Re: Review Request: Async function execution abstraction

Posted by Vinod Kone <vi...@gmail.com>.

> On Aug. 27, 2012, 2:18 p.m., John Sirois wrote:
> > third_party/libprocess/include/process/async.hpp, line 132
> > <https://reviews.apache.org/r/6668/diff/2/?file=141936#file141936line132>
> >
> >     Where does ::*R come from?

this is just the way to typedef a function pointer. 'R' is not a template paramater or anything. does that make sense?

http://stackoverflow.com/questions/4295432/typedef-function-pointer


- Vinod


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


On Aug. 17, 2012, 12:29 a.m., Vinod Kone wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/6668/
> -----------------------------------------------------------
> 
> (Updated Aug. 17, 2012, 12:29 a.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, John Sirois, and Jie Yu.
> 
> 
> Description
> -------
> 
> Created a new abstraction called async() (which is similar in C++11 async).
> 
> The idea is a user could use this abstraction to delegate blocking calls (eg: system calls).
> 
> The implementation is a bit messy, because C++ compiler is not very smart. But, the usage is pretty simple.
> 
> 
> Diffs
> -----
> 
>   third_party/libprocess/include/process/async.hpp PRE-CREATION 
>   third_party/libprocess/src/tests.cpp 8f4b2ae 
> 
> Diff: https://reviews.apache.org/r/6668/diff/
> 
> 
> Testing
> -------
> 
> (inside libprocess)
> 
> make check
> 
> 
> Thanks,
> 
> Vinod Kone
> 
>


Re: Review Request: Async function execution abstraction

Posted by John Sirois <jo...@gmail.com>.

> On Aug. 27, 2012, 2:18 p.m., John Sirois wrote:
> > third_party/libprocess/include/process/async.hpp, line 132
> > <https://reviews.apache.org/r/6668/diff/2/?file=141936#file141936line132>
> >
> >     Where does ::*R come from?
> 
> Vinod Kone wrote:
>     this is just the way to typedef a function pointer. 'R' is not a template paramater or anything. does that make sense?
>     
>     http://stackoverflow.com/questions/4295432/typedef-function-pointer

Thanks - this makes sense now.


- John


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


On Aug. 27, 2012, 5:46 p.m., Vinod Kone wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/6668/
> -----------------------------------------------------------
> 
> (Updated Aug. 27, 2012, 5:46 p.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, John Sirois, and Jie Yu.
> 
> 
> Description
> -------
> 
> Created a new abstraction called async() (which is similar in C++11 async).
> 
> The idea is a user could use this abstraction to delegate blocking calls (eg: system calls).
> 
> The implementation is a bit messy, because C++ compiler is not very smart. But, the usage is pretty simple.
> 
> 
> Diffs
> -----
> 
>   third_party/libprocess/include/process/async.hpp PRE-CREATION 
>   third_party/libprocess/src/tests.cpp 8f4b2ae 
> 
> Diff: https://reviews.apache.org/r/6668/diff/
> 
> 
> Testing
> -------
> 
> (inside libprocess)
> 
> make check
> 
> 
> Thanks,
> 
> Vinod Kone
> 
>


Re: Review Request: Async function execution abstraction

Posted by John Sirois <jo...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6668/#review10772
-----------------------------------------------------------



third_party/libprocess/include/process/async.hpp
<https://reviews.apache.org/r/6668/#comment23234>

    Where does ::*R come from?


- John Sirois


On Aug. 17, 2012, 12:29 a.m., Vinod Kone wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/6668/
> -----------------------------------------------------------
> 
> (Updated Aug. 17, 2012, 12:29 a.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, John Sirois, and Jie Yu.
> 
> 
> Description
> -------
> 
> Created a new abstraction called async() (which is similar in C++11 async).
> 
> The idea is a user could use this abstraction to delegate blocking calls (eg: system calls).
> 
> The implementation is a bit messy, because C++ compiler is not very smart. But, the usage is pretty simple.
> 
> 
> Diffs
> -----
> 
>   third_party/libprocess/include/process/async.hpp PRE-CREATION 
>   third_party/libprocess/src/tests.cpp 8f4b2ae 
> 
> Diff: https://reviews.apache.org/r/6668/diff/
> 
> 
> Testing
> -------
> 
> (inside libprocess)
> 
> make check
> 
> 
> Thanks,
> 
> Vinod Kone
> 
>


Re: Review Request: Async function execution abstraction

Posted by Vinod Kone <vi...@gmail.com>.

> On Aug. 17, 2012, 5:12 p.m., Ben Mahler wrote:
> > third_party/libprocess/include/process/async.hpp, line 209
> > <https://reviews.apache.org/r/6668/diff/2/?file=141936#file141936line209>
> >
> >     ah, I see, this is the public interface people would use
> >     
> >     do/should we typically try to get the public interface at the top of the header?

not sure how to do it, because we are 'using' AsyncExecutor() inside async(). A forward declaration of AsyncExecutor doesn't suffice here.


- Vinod


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


On Aug. 17, 2012, 12:29 a.m., Vinod Kone wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/6668/
> -----------------------------------------------------------
> 
> (Updated Aug. 17, 2012, 12:29 a.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, John Sirois, and Jie Yu.
> 
> 
> Description
> -------
> 
> Created a new abstraction called async() (which is similar in C++11 async).
> 
> The idea is a user could use this abstraction to delegate blocking calls (eg: system calls).
> 
> The implementation is a bit messy, because C++ compiler is not very smart. But, the usage is pretty simple.
> 
> 
> Diffs
> -----
> 
>   third_party/libprocess/include/process/async.hpp PRE-CREATION 
>   third_party/libprocess/src/tests.cpp 8f4b2ae 
> 
> Diff: https://reviews.apache.org/r/6668/diff/
> 
> 
> Testing
> -------
> 
> (inside libprocess)
> 
> make check
> 
> 
> Thanks,
> 
> Vinod Kone
> 
>


Re: Review Request: Async function execution abstraction

Posted by Ben Mahler <be...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6668/#review10462
-----------------------------------------------------------


this is pretty cool!


third_party/libprocess/include/process/async.hpp
<https://reviews.apache.org/r/6668/#comment22313>

    



third_party/libprocess/include/process/async.hpp
<https://reviews.apache.org/r/6668/#comment22314>

    ah, I see, this is the public interface people would use
    
    do/should we typically try to get the public interface at the top of the header?


- Ben Mahler


On Aug. 17, 2012, 12:29 a.m., Vinod Kone wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/6668/
> -----------------------------------------------------------
> 
> (Updated Aug. 17, 2012, 12:29 a.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, John Sirois, and Jie Yu.
> 
> 
> Description
> -------
> 
> Created a new abstraction called async() (which is similar in C++11 async).
> 
> The idea is a user could use this abstraction to delegate blocking calls (eg: system calls).
> 
> The implementation is a bit messy, because C++ compiler is not very smart. But, the usage is pretty simple.
> 
> 
> Diffs
> -----
> 
>   third_party/libprocess/include/process/async.hpp PRE-CREATION 
>   third_party/libprocess/src/tests.cpp 8f4b2ae 
> 
> Diff: https://reviews.apache.org/r/6668/diff/
> 
> 
> Testing
> -------
> 
> (inside libprocess)
> 
> make check
> 
> 
> Thanks,
> 
> Vinod Kone
> 
>


Re: Review Request: Async function execution abstraction

Posted by Vinod Kone <vi...@gmail.com>.

> On Aug. 17, 2012, 12:53 a.m., Jie Yu wrote:
> > third_party/libprocess/include/process/async.hpp, line 206
> > <https://reviews.apache.org/r/6668/diff/2/?file=141936#file141936line206>
> >
> >     typo 'ftion'

done


- Vinod


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


On Aug. 17, 2012, 12:29 a.m., Vinod Kone wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/6668/
> -----------------------------------------------------------
> 
> (Updated Aug. 17, 2012, 12:29 a.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, John Sirois, and Jie Yu.
> 
> 
> Description
> -------
> 
> Created a new abstraction called async() (which is similar in C++11 async).
> 
> The idea is a user could use this abstraction to delegate blocking calls (eg: system calls).
> 
> The implementation is a bit messy, because C++ compiler is not very smart. But, the usage is pretty simple.
> 
> 
> Diffs
> -----
> 
>   third_party/libprocess/include/process/async.hpp PRE-CREATION 
>   third_party/libprocess/src/tests.cpp 8f4b2ae 
> 
> Diff: https://reviews.apache.org/r/6668/diff/
> 
> 
> Testing
> -------
> 
> (inside libprocess)
> 
> make check
> 
> 
> Thanks,
> 
> Vinod Kone
> 
>


Re: Review Request: Async function execution abstraction

Posted by Jie Yu <yu...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6668/#review10449
-----------------------------------------------------------

Ship it!


Ship It!


third_party/libprocess/include/process/async.hpp
<https://reviews.apache.org/r/6668/#comment22298>

    typo 'ftion'


- Jie Yu


On Aug. 17, 2012, 12:29 a.m., Vinod Kone wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/6668/
> -----------------------------------------------------------
> 
> (Updated Aug. 17, 2012, 12:29 a.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, John Sirois, and Jie Yu.
> 
> 
> Description
> -------
> 
> Created a new abstraction called async() (which is similar in C++11 async).
> 
> The idea is a user could use this abstraction to delegate blocking calls (eg: system calls).
> 
> The implementation is a bit messy, because C++ compiler is not very smart. But, the usage is pretty simple.
> 
> 
> Diffs
> -----
> 
>   third_party/libprocess/include/process/async.hpp PRE-CREATION 
>   third_party/libprocess/src/tests.cpp 8f4b2ae 
> 
> Diff: https://reviews.apache.org/r/6668/diff/
> 
> 
> Testing
> -------
> 
> (inside libprocess)
> 
> make check
> 
> 
> Thanks,
> 
> Vinod Kone
> 
>


Re: Review Request: Async function execution abstraction

Posted by Benjamin Hindman <be...@berkeley.edu>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6668/#review11488
-----------------------------------------------------------

Ship it!



third_party/libprocess/include/process/async.hpp
<https://reviews.apache.org/r/6668/#comment24598>

    No Apache header in libprocess! If some of squeaked in, they should be removed (same in stout).


- Benjamin Hindman


On Sept. 12, 2012, 11:38 p.m., Vinod Kone wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/6668/
> -----------------------------------------------------------
> 
> (Updated Sept. 12, 2012, 11:38 p.m.)
> 
> 
> Review request for mesos, Benjamin Hindman, John Sirois, and Jie Yu.
> 
> 
> Description
> -------
> 
> Created a new abstraction called async() (which is similar in C++11 async).
> 
> The idea is a user could use this abstraction to delegate blocking calls (eg: system calls).
> 
> The implementation is a bit messy, because C++ compiler is not very smart. But, the usage is pretty simple.
> 
> 
> Diffs
> -----
> 
>   third_party/libprocess/include/process/async.hpp PRE-CREATION 
>   third_party/libprocess/src/tests.cpp 41bf973 
> 
> Diff: https://reviews.apache.org/r/6668/diff/
> 
> 
> Testing
> -------
> 
> (inside libprocess)
> 
> make check
> 
> 
> Thanks,
> 
> Vinod Kone
> 
>


Re: Review Request: Async function execution abstraction

Posted by Vinod Kone <vi...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6668/
-----------------------------------------------------------

(Updated Sept. 14, 2012, 6:37 p.m.)


Review request for mesos, Benjamin Hindman, John Sirois, and Jie Yu.


Changes
-------

Removed apache headers from async and statistics_tests


Description
-------

Created a new abstraction called async() (which is similar in C++11 async).

The idea is a user could use this abstraction to delegate blocking calls (eg: system calls).

The implementation is a bit messy, because C++ compiler is not very smart. But, the usage is pretty simple.


Diffs (updated)
-----

  third_party/libprocess/include/process/async.hpp PRE-CREATION 
  third_party/libprocess/src/statistics_tests.cpp 639439c 
  third_party/libprocess/src/tests.cpp 41bf973 

Diff: https://reviews.apache.org/r/6668/diff/


Testing
-------

(inside libprocess)

make check


Thanks,

Vinod Kone


Re: Review Request: Async function execution abstraction

Posted by Vinod Kone <vi...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6668/
-----------------------------------------------------------

(Updated Sept. 12, 2012, 11:38 p.m.)


Review request for mesos, Benjamin Hindman, John Sirois, and Jie Yu.


Changes
-------

deff'ed against apache/trunk after rebase. no, actual updates here! just my passive agressive way to nudge benh to take a look :)


Description
-------

Created a new abstraction called async() (which is similar in C++11 async).

The idea is a user could use this abstraction to delegate blocking calls (eg: system calls).

The implementation is a bit messy, because C++ compiler is not very smart. But, the usage is pretty simple.


Diffs (updated)
-----

  third_party/libprocess/include/process/async.hpp PRE-CREATION 
  third_party/libprocess/src/tests.cpp 41bf973 

Diff: https://reviews.apache.org/r/6668/diff/


Testing
-------

(inside libprocess)

make check


Thanks,

Vinod Kone


Re: Review Request: Async function execution abstraction

Posted by Vinod Kone <vi...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6668/
-----------------------------------------------------------

(Updated Aug. 27, 2012, 5:46 p.m.)


Review request for mesos, Benjamin Hindman, John Sirois, and Jie Yu.


Changes
-------

fixing typos


Description
-------

Created a new abstraction called async() (which is similar in C++11 async).

The idea is a user could use this abstraction to delegate blocking calls (eg: system calls).

The implementation is a bit messy, because C++ compiler is not very smart. But, the usage is pretty simple.


Diffs (updated)
-----

  third_party/libprocess/include/process/async.hpp PRE-CREATION 
  third_party/libprocess/src/tests.cpp 8f4b2ae 

Diff: https://reviews.apache.org/r/6668/diff/


Testing
-------

(inside libprocess)

make check


Thanks,

Vinod Kone