to cserve2.
Big commit that implements the entire functionality. Besides loading
fonts and glyphs, and sharing the glyph bitmaps with clients, it also
adds:
- new request system, with a much better abstraction;
- new working slaves management;
- slaves can be threads or process now;
- started a debugging and statistics implementation on server.
The image caching part still uses the old request and slaves system, but
should be changed to use the new one soon and get more easily
maintainable.
SVN revision: 72699
This is a list that holds all requests being processed at the moment. It
can be used so that when a new request is added, first we look in this
queue to avoid creating a new request that is the same as the one being
processed right now. If it is already being processed, a new waiter is
added to it, just like when the request was on its original queue.
SVN revision: 71607
slave.
It will now receive errors from the thread callback and call the error
request function, with the respective error type in the message.
SVN revision: 71606
The implementation of the slave doesn't need to care about reading
commands and sending answers. It just receives the arguments for its job
and returns the processed data.
SVN revision: 71599
The Slave_Proc now inherits from Slave, which implements all the
communication logic. The Slave_Proc only has specific code for
processes, while a new Slave_Thread should be added soon with code for
slave threads.
SVN revision: 71368
now seriously...
Introducing Cache Serve 2.
This cache server will initially load images for clients connected to
it. It starts slave processes to load these images, and share the loaded
images through shm with the clients. All the connection done between
clients and the server goes through sockets.
The cserve2 build option is turned on by default, while the old cserve
was disabled, but in order to make clients use it, the environment
variable EVAS_CSERVE2 must be set, and a server must be running.
Clients will try to find the socket on a specified location using the
environment variable EVAS_CSERVE2_SOCKET. If it's not defined, then the
XDG_RUNTIME_DIR path should be used, and finally HOME, TMPDIR and /tmp.
SVN revision: 70699
CC evas_cserve_tool.o
evas_cserve_main.c: In function ‘message’:
evas_cserve_main.c:993:14: warning: braces around scalar initializer
evas_cserve_main.c:993:14: warning: (near initialization for ‘lopt.degree’)
evas_cserve_main.c:993:14: warning: excess elements in scalar initializer
evas_cserve_main.c:993:14: warning: (near initialization for ‘lopt.degree’)
evas_cserve_main.c:993:14: warning: excess elements in scalar initializer
evas_cserve_main.c:993:14: warning: (near initialization for ‘lopt.degree’)
evas_cserve_main.c:993:14: warning: excess elements in scalar initializer
evas_cserve_main.c:993:14: warning: (near initialization for ‘lopt.degree’)
Signed-off-by: Mike McCormack <mikem@ring3k.org>
SVN revision: 64310
* log domains in lower-case only please. let's make it a standard so
we don't have to look at the code everytime to figure out the name...
* logs do NOT require trailing newline (\n), it's automatic!
* do NOT add newline inside log messages!
* add gl_common logging.
NOTE: I tried to compile all modules, but there are clear broken
modules such as cairo and qtopia. Other modules like gl_sdl are
broken as they were not updated to new gl_common api (resize
method AFAIR).
SVN revision: 53174