Commit Graph

22 Commits

Author SHA1 Message Date
Iván Briano 0e2294db55 Move image opening/loading to the new requests system
A lot going on here:
 - Request callbacks were adapted to fit the new scheme
 - The old requests systems in the cache was wiped out
 - Old slave handling in evas_cserve2_main.c is dead too
 - PRELOAD commands are responded with LOADED now



SVN revision: 73984
2012-07-17 14:23:09 +00:00
Iván Briano 0022544c8b Allow creating requets without a client waiting on it
SVN revision: 73983
2012-07-17 14:22:57 +00:00
Iván Briano 1f601af021 Cancel dependents only when the request itself is
cancelled



SVN revision: 73982
2012-07-17 14:22:52 +00:00
Iván Briano 30dd288a01 Call the requests callbacks only once per request
Message creation was like that already, but now we call the response or
error callback for the request only once. The cache does what it needs
there and returns, in the case of a successful response, the message
that will be sent to the client.



SVN revision: 73981
2012-07-17 14:22:42 +00:00
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
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 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