[prev in list] [next in list] [prev in thread] [next in thread] 

List:       enlightenment-devel
Subject:    [E-devel] Ecore_Con new Eo API
From:       Cedric BAIL <cedric.bail () free ! fr>
Date:       2015-05-29 16:31:47
Message-ID: CAGv1asUH6h1xqebnPiews7GHXE_1xeB1RRqmkXTdBV4NwmHv1g () mail ! gmail ! com
[Download RAW message or body]

Hello,

Srivardhan Hebbar has been working with me on cleaning up and
improving the Eo API exposed by Ecore_Con which will become the future
API of a potential EFL 2.0 (It is also part of the on going work on
redoing all EFL object interface with Eolian/Eo).

We are at a point where we are satisfied on a small example
Ecore_Con_Url and would like to get some feedback. For people who just
want to just look at the code, a starting point is
https://git.enlightenment.org/core/efl.git/tree/src/lib/ecore_con/efl_network_url.eo
. But a quick explanation may be better for everyone.

So the idea is to first cleanup the naming. Everything end up in a
meaningful namespace : Efl.Network.Url. Second we solve our long
standing event issue, we now use eo_event, they allow a few benefit
right away. No memory allocation and memory copy are needed to emit an
event and at event registration we can use Eo callback arrays that
seriously reduce memory consumption per object. This two feature
should give us better performance and a lower memory foot print.

To preserve backward compatibility, if you do create the object with
the old legacy API we register an Eo callbacks array that will emit
the legacy Ecore_Event, making every thing work as it was working
before with no overhead for the Eo direct case.

A known drawback is that as we do not reschedule reading the data for
later if the main loop is to busy, we could end up having the UI drop
some frame under heavy load (compared to the old system of delayed
event). I have no good plan to address this issue in the short term,
as their is a lot of potential idea to solve this issue. I would
prefer we keep that out of this thread for now.

Basically the main point of this mail, is are you happy with putting
everything under Efl.Network namespace ? And are you fine with the new
Eo event system ? Are you also fine with the content of
Efl_Network_Url class ? If so we will apply the same change to all
other Ecore_Con API.
-- 
Cedric BAIL

------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic