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