Page MenuHomePhabricator

Add new Future/Promise API.

Authored by iscaro on Aug 25 2017, 4:42 PM.



Eina: Add Eina_Promise/Eina_Future.

This commit adds a new promise/future API which aims to replace

Efl_Object: Add integration with Eina_Future.

This commit adds the EO support for the new future infra.
From now on there's no need to efl_future_link()/efl_future_unlink()
object and futures since the new API already handles that internally.

Eina_Promise/Eina_Future: Add example and tests.

Diff Detail

rEFL core/efl
No Linters Available
No Unit Test Coverage
Build Status
Buildable 4419
Build 4484: arc lint + arc unit
iscaro created this revision.Aug 25 2017, 4:42 PM

This branch can also be found at dev/iscaro/future

barbieri accepted this revision.Aug 25 2017, 6:43 PM
barbieri mentioned this in Future & Promise.

I've reviewed this PR with @iscaro, looks very good to me after more than 10 interactions we reached a point we're very satisfied with safety, simplicity and overall implementation.

This revision is now accepted and ready to land.Aug 25 2017, 6:44 PM
iscaro added inline comments.Aug 25 2017, 7:46 PM

Oops, need to change this to ssize_t

cedric accepted this revision.Aug 26 2017, 10:09 AM

I agree, way better in any way. There might be improvement to be done on eina_value, but that is orthogonal.

barbieri requested changes to this revision.Aug 27 2017, 8:22 AM

found some issues, fixes at

@iscaro should review those on monday and if we're good to go, let's merge it.

This revision now requires changes to proceed.Aug 27 2017, 8:22 AM
iscaro updated this revision to Diff 12161.Sep 1 2017, 9:35 AM

This update adds the efl_net and efl_io_copier migration to Eina_Promise

barbieri accepted this revision.Sep 4 2017, 9:08 AM
barbieri awarded a token.

merged in master after cedric fixed the mempool from...

This revision is now accepted and ready to land.Sep 4 2017, 9:08 AM
jpeg added a comment.Sep 19 2017, 1:04 AM

Please abandon this. It's merged.

cedric closed this revision.Oct 16 2017, 1:07 PM