Hello,

On Wed, Jun 08, 2016 at 08:16:20PM +0900, Carsten Haitzler wrote:
>
 [...]
> they should be eo objects.

I wondered in the beginning why promises are not a eo object, comparing the 
two models shows that it can be dangerous moving promises to a Eo.Base class.

Take a look at the events, when in a promise the then callback is
called the callback is unsubscribed, and never called again. When a then
callback is attached after the value is set the then callback is called
while beeing added. So this is a completly different sematic compared to
Eo.Base. Of course a implementation can be treated to do smth. like
that, but i think its confusing to users of a api, if objects behave
differently under the same base api.

Also when attaching a then_cb you will get a ref of the promise, so as
long as your then_cb is not called the promise will not be freed. This
is also something which does not play with the ref/unref system of
Eo.Base.

Basically you can say, after the then_cb you just have to nuke your
reference to your promise, at the best dont keep a reference to it.

So all in all the concept of A Promise inheriting from Eo.Base doesnt
sound sane to me, and looks like a huge confusion you can get in. So I
would prefer to keep the promises as they are, exept the idea of using
Eo_Id to make the pointer more secure.

Greetings
   bu5hm4n

> 
> -- 
> ------------- Codito, ergo sum - "I code, therefore I am" --------------
> The Rasterman (Carsten Haitzler)    ras...@rasterman.com
> 
> 
> ------------------------------------------------------------------------------
> What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
> patterns at an interface-level. Reveals which users, apps, and protocols are 
> consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
> J-Flow, sFlow and other flows. Make informed decisions using capacity 
> planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to