Commit Graph

181 Commits

Author SHA1 Message Date
Iván Briano abb7d24442 Remove the right element from the list
SVN revision: 73062
2012-06-29 22:04:42 +00:00
Iván Briano c90e6ed6de Let's not fall into an infinite loop with blocked
requests



SVN revision: 73061
2012-06-29 22:04:34 +00:00
Iván Briano 8303ba5af4 THE MOST IMPORTANT COMMIT IN THE HISTORY OF HUMANITY
SVN revision: 73060
2012-06-29 22:04:23 +00:00
Iván Briano 05e634b68a Add support for a request to depend on another
SVN revision: 73058
2012-06-29 22:03:57 +00:00
Iván Briano d48eb2a954 Mark the slave as not done when it starts a job
SVN revision: 72961
2012-06-27 19:01:40 +00:00
Iván Briano 18b94b39c1 Prevent using freed data in epoll events
SVN revision: 72960
2012-06-27 19:01:16 +00:00
Stefan Schmidt 11e9c39163 evas/cserve2: Don't use var names that are used as global. Index is one of them.
SVN revision: 72863
2012-06-26 09:08:45 +00:00
Mike Blumenkrantz 88c88c5614 cast warnings--
SVN revision: 72847
2012-06-26 06:53:00 +00:00
Mike Blumenkrantz 2a45ea31ce use correct format string
SVN revision: 72845
2012-06-26 06:50:36 +00:00
Rafael Antognolli da8b023295 evas/cserve2: Don't take "used glyphs" messages into
account.
When considering glyphs loading saved time, just use the load glyphs
requests.



SVN revision: 72831
2012-06-25 20:19:28 +00:00
Rafael Antognolli a6a92632b0 evas/cserve2: Calculate average time saved on glyph
rendering.



SVN revision: 72829
2012-06-25 20:06:50 +00:00
Rafael Antognolli 2234422dab evas/cserve2: Add entries loading saved time.
Still must add glyphs loading saved time.



SVN revision: 72828
2012-06-25 20:06:44 +00:00
Iván Briano 0a1faf7af9 Don't free file entries while there are still images pending from them
SVN revision: 72826
2012-06-25 19:27:59 +00:00
Iván Briano 9a7ba8e27a Re-enable the used glyphs message now that it doesn't crash or leak
SVN revision: 72819
2012-06-25 17:42:58 +00:00
Rafael Antognolli 6a3abcaa89 evas/cserve2: Add image size and loading time stats.
SVN revision: 72812
2012-06-25 14:40:30 +00:00
Iván Briano 309e29f9ee Add simple debug client for cserve2
SVN revision: 72708
2012-06-22 22:39:16 +00:00
Iván Briano 74d8ed3c01 Fix generation of FONT_DEBUG response
SVN revision: 72707
2012-06-22 22:38:28 +00:00
Rafael Antognolli 6aace19c0d evas/cserve2: Silent some warnings (and also fix wrong
code).



SVN revision: 72705
2012-06-22 21:54:26 +00:00
Rafael Antognolli e09a542403 evas/cserve2: Rename some stats and add some more for font
loading.



SVN revision: 72704
2012-06-22 21:43:50 +00:00
Rafael Antognolli cab8802354 evas/cserve2: Only declare timeval function if debug is
enabled.



SVN revision: 72703
2012-06-22 21:22:34 +00:00
Rafael Antognolli 0b675aae17 evas/cserve2: Change our fash implemenation name.
So the names won't clash.



SVN revision: 72701
2012-06-22 20:56:53 +00:00
Rafael Antognolli 64fecc2fab evas/cserve2: Add font and glyphs loading implementation
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
2012-06-22 20:31:17 +00:00
Stefan Schmidt 95fdd837b7 evas/cserve2: Enums can hold negative values fine. Still gcc complains so cast this.
evas_cserve2_requests.c:369: warning: comparison between signed and unsigned integer expressions

SVN revision: 72523
2012-06-20 07:54:14 +00:00
Stefan Schmidt 6bfeca0857 evas/cserve2: Unused parameter warnings--
SVN revision: 72522
2012-06-20 07:54:07 +00:00
Rafael Antognolli 9ce49329f8 evas/cserve2: Change request list to inlist.
Inlist remove operations are faster if the element is known.



SVN revision: 71609
2012-05-31 21:34:54 +00:00
Rafael Antognolli 7455170dbb evas/cserve2: Add a "processing" queue for each type
of request.
This will make the lookups for requests faster (mainly for fonts).



SVN revision: 71608
2012-05-31 21:34:48 +00:00
Rafael Antognolli 09dd80fd30 evas/cserve2: Add a "processing" queue to requests.
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
2012-05-31 21:34:37 +00:00
Rafael Antognolli de3a6a067b evas/cserve2: Add basic error handling on thread
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
2012-05-31 21:34:28 +00:00
Rafael Antognolli 91a1ac65c7 evas/cserve2: Add handling of FONT_LOAD.
It's not fully functional, some things are still pending:
- Free allocated font;
- answer with error message if failed.



SVN revision: 71605
2012-05-31 21:34:21 +00:00
Rafael Antognolli 30dcc1c83d evas/cserve2: Some fixes for requests.
SVN revision: 71604
2012-05-31 21:34:15 +00:00
Rafael Antognolli 22706abe93 evas/cserve2: Some more code to requests management.
Added code to slave read and slave dead callbacks.



SVN revision: 71603
2012-05-31 21:34:09 +00:00
Rafael Antognolli ce514d3d43 evas/cserve2: Use Slave_Command instead of
Message_Type for slave.
This is the command that must be given to the slave, instead of the
message type received from the client.



SVN revision: 71602
2012-05-31 21:34:04 +00:00
Rafael Antognolli a3fa30f70b evas/cserve2: Add requests and slave workers
management.



SVN revision: 71601
2012-05-31 21:33:59 +00:00
Rafael Antognolli 2c9e6a10f3 evas/cserve2: Adding font requests manipulation.
SVN revision: 71600
2012-05-31 21:33:53 +00:00
Rafael Antognolli c9f610366c evas/cserve2: Slave thread is only a simple callback.
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
2012-05-31 21:33:43 +00:00
Rafael Antognolli 9a469b778c evas/cserve2: Add threaded slave support.
It's not being used yet, but the font slave will be done using this
code.



SVN revision: 71598
2012-05-31 21:33:37 +00:00
Rafael Antognolli 796df2896c evas/cserve2: Refactory slave to inherit from a slave base.
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
2012-05-23 20:39:39 +00:00
Rafael Antognolli 44ba936c9c evas/cserve2: Add basic font search when a font load is
requested.
This will only look for fonts already loaded before, no new fonts will
be loaded.



SVN revision: 71365
2012-05-23 18:10:39 +00:00
Rafael Antognolli c0f46df5d3 evas/cserve2: Make Font_Entry inherit from Entry.
Also update some code paths to reflect the new type of entry.



SVN revision: 71364
2012-05-23 18:10:32 +00:00
Rafael Antognolli f17b43eb40 evas/cserve2: Add font entries and sources hashes.
Added the needed struct members too, and some functions to manipulate
the hashes.



SVN revision: 71363
2012-05-23 18:10:26 +00:00
Rafael Antognolli 1338b95b15 evas/cserve2: Adding code to receive font messages on
server.



SVN revision: 71362
2012-05-23 18:10:17 +00:00
Rafael Antognolli a97a4f99cc evas/cserve2: Adding some font structs to the cache.
This will allow to create answer messages based on the content of these
structs.



SVN revision: 71361
2012-05-23 18:10:10 +00:00
Iván Briano 02be0a3382 Lil' refactor on CServe2's cache. More to come when the last book of 'A Song of Ice and Fire' is published.
SVN revision: 71356
2012-05-23 17:13:46 +00:00
Carsten Haitzler 69bd9ce72e let's make server work out of the box if u set:
export EVAS_CSERVE2=1

(and run cserve2)



SVN revision: 71274
2012-05-21 08:44:55 +00:00
Iván Briano 148d9cd110 and fix wrong merge, damn it!
SVN revision: 71077
2012-05-14 15:17:12 +00:00
Iván Briano 2810fcd583 bot warnings begone, hopefully
SVN revision: 71076
2012-05-14 15:05:04 +00:00
Iván Briano c97f25128b cserve2 warnings begone
SVN revision: 70845
2012-05-07 17:22:06 +00:00
Iván Briano 1e6d85af97 Why this doesn't break for me? Now I have to use the bot for testing.
SVN revision: 70700
2012-05-03 21:17:55 +00:00
Iván Briano 15328efb85 evas/cserve2: fix typo that kept cserve2 disabled
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
2012-05-03 21:01:31 +00:00
Vincent Torri 4060b7d96e Evas: remove WIN32_CPPFLAGS and WIN32_CFLAGS are there are not used anymore. Move some headers in evas_common.h
SVN revision: 68100
2012-02-18 08:33:00 +00:00