|Age||Commit message (Collapse)||Author|
As cserve2 support has not worked (if ever) in a very long time, and
it's authors are gone, this series of patches removes cserve2 (and
thus cache2) from our codebase to remove cruft and reduce
maintainability of unused code.
Depends on D6941
Reviewers: raster, cedric, zmike, Hermet
Reviewed By: Hermet
Subscribers: #reviewers, #committers
Maniphest Tasks: T7226
Differential Revision: https://phab.enlightenment.org/D6942
This will help in the transition from Autotools to Meson. This has been
tested on Windows for which EFL_XXX_BUILD were first introduced.
Use the refcount macros instead of manually handling
integers. Not sure if it really helps since the refcounting
in cs2 client is a bit special :)
Maybe a little overkill on the iterations (ref/unref),
but at least we can really track down which glyphs are
currently being used.
Try to reconnect to cserve2 if the socket connection was lost.
Resend some messages if necessary.
Images reload seems to be working.
Actually, the images don't change over time, so the clients just
keep the previous references to their images.
FONT RELOAD IS NOT WORKING:
- Invalid glyph data
- Infinite loop in _glyph_map_remap_check()
When new glyphs are requested from the server, they are added to
the mempool. So it is necessary to remap the font.
Unfortunately, in case of server reboot, we did not keep the mempool
so the old glyphs that were not requested again will not be valid.
This will save (just) a few socket waits.
Read Image descriptors from the shared arrays
But, accessing the shared index can be a bit expensive, so
try to read from the socket before scanning the index,
Check consistency of index header and remap if necessary.
- Send paths to all connected clients
- Send paths upon connection from a new client
- Client side:
- Fast find opened images
- Fast find loaded images
- Optimize load by skipping socket wait
Also, remap indexes when needed (file size changed)
When index file grows, the clients are not notified, so they
must constantly check that their mapping matches the current array
- Move required struct definitions to common evas_cs2.h
- Open/close shm and map arrays to memory
Pretty stupid for now as it will close & reopen the shm files
even when unchanged.
- Check shm size and array header consistency
- Implement message send
- Send messages from server when calling repack()
When opening an image, OPEN and SETOPTS were always sent
consecutively. Merging these two messages may improve the
performance a bit (not measured), but also simplify the
Note: cserve2 debug tools have not been fixed yet.
Evas_Common.h should be used for the public header, and rather rename
evas_common.h internal header to another name.
Evas_Common_Header.h -> Evas_Common.h
evas_common.h -> evas_common_private.h
Shouldn't have both Evas_Common.h and evas_common.h because of case
It seems some images are fully loaded even when we request
only preload. The load handler will take care of both cases anyway.
Signed-off-by: Cedric Bail <firstname.lastname@example.org>
Patch by: Paulo Alcantara <email@example.com>
SVN revision: 82482
I've tested make -j 3 install and it works nicely
I've tested expedite with software and opengl xlib,
and it works. Not tested other engines, so please
report any problems (engines or other) on the ML.
TODO: examples and tests, I'll add them later
ISSUE: Eina_Unicode size check. It indirectly depends on
eina_config.h, which is created at the end of the
configure script. So its size is always 0. I don't
know how that size is used, so I can't do a lot,
SVN revision: 78895