48 Commits (ebab2903ea1e82d81f865e6b62b066e95eb05b5d)

Author SHA1 Message Date
Georg Hopp f31b619095 update changelog 14 years ago
Georg Hopp 9f801ba422 changed all string operation within header handling with fixed length mem operations, preventing multiple iterations over these strings. In theory this should improve performance in reality it seems that it is worse...CHECK WHY 14 years ago
Georg Hopp b3413f40ab ed 14 years ago
Georg Hopp 87b0d50d1d structural changes for worker/process. @TODO actually i have no idea why this happens. 14 years ago
Georg Hopp fc4fd8f66d fixed bug in keep-alive check arised by implementation if #10 14 years ago
Georg Hopp 59ccbf0207 closes #10: values for header ids are now stored in a char ** making multiple values for one id possible. Additionally added a jquery action that delivers the jquery java script and use it on the me action 14 years ago
Georg Hopp 424297cd57 now when a constructor returns -1 the new call will in turn call the destructor effectively freeing all resources. ATTENTION: now the destructor has to be aware that it might be called with a not completely initialized object. To make this more ease there is the FREE makro with the corresponding ffree that does NULL pointer checking and the destructor checks for NULL pointer too. Additionally the handle_accept now handles _SC_OPEN_MAX - 10 connections. The 10 are reserved for internal usage. 14 years ago
Georg Hopp 7f688412ea some code cleanups...no changes in the logic 14 years ago
Georg Hopp 8298740dd9 move sdbm implementation in one file. 14 years ago
Georg Hopp 063189e664 changed /**/ single line comments to // 14 years ago
Georg Hopp b38d402250 start documenting this whole stuff...well at least add a copyright information in each file 14 years ago
Georg Hopp 7466e59298 first very crude, not complete, experimental 304 test implementation 14 years ago
Georg Hopp abd69d0a20 disconnect on invalid request line 14 years ago
Georg Hopp dfdfd20d8e now incomplete requests should no longer block the complete server. Tested with \'echo -en "GET / HTTP\r\nConn" | nc -w 600 localhost 11212\' and then doing requests from my browser. @TODO: cleanup those stuff, check if a not correctly response reading would block the server. 14 years ago
Georg Hopp eae798e599 increase writebuffer size a lot. 14 years ago
Georg Hopp f2dbad19c6 another try with a shared memory based ringbuffer...this performs well for keep-alive sessions but is much slower without. actually i am not sure why but most likely the shared memory setup is quite expensive. @TODO: make a profiling. 14 years ago
Georg Hopp e8a21ace31 lots of changes but primarily change the request parser to use a ringbuffer. The ringbuffer is implemented using the shared memory trick. 14 years ago
Georg Hopp 5c1c6a80cf some more cleanups in the server code. Removing not needed header includes 14 years ago
Georg Hopp 6550e381f0 now the separated http worker works. Changed some size_t to ssize_t as i use -1 and -2 es error indicator in my server and fixed caculation of remainig buffer size in reader 14 years ago
Georg Hopp 20af2baa6f separated the server completely from the http processing 14 years ago
Georg Hopp 95d12d808a add subject/observer interface 14 years ago
Georg Hopp b122f341a9 fix infinite busy loop in run 14 years ago
Georg Hopp 3497eb8754 dynamically get and free buffer for response write pipe now 14 years ago
Georg Hopp e35308f880 increase write buffer 14 years ago
Georg Hopp 92379ebb15 use one dynamic buffer less and save at least one write on small responses 14 years ago
Georg Hopp fa58a6cc81 make http request and response childs of a common parent http message 14 years ago
Georg Hopp ab21de50dd remove now obsoleted header_sort 14 years ago
Georg Hopp e67667881f change response to tree based header storage and make everything work. 14 years ago
Georg Hopp bf6a341b4c changed header hashing to use btree (GNU only). @TODO: make this conditional for other systems. Removed the qsort calls on server->fds making O(2nlogn) to O(n) 14 years ago
Georg Hopp 983c933908 fix seaks and hangs after adding response object (mostly not related with the response object but how i integated it into serverRun 14 years ago
Georg Hopp f82c178b5b started a response handler and changed serverRun to use it for its response 14 years ago
Georg Hopp 9198f7e7aa fixed bug at server destructor 14 years ago
Georg Hopp cb50f09adc reset keep_live flag on connection close 14 years ago
Georg Hopp 3d735c7fc7 made a first cruel handling for keep-alive and non keep-alive requests. @TODO: this MUST BE cleaned 14 years ago
Georg Hopp a4d09213ba moved request_parser.h and request_queue.h in separeate request subfolder 14 years ago
Georg Hopp 6aef05cf7f fix rather nasty reentrance bug 14 years ago
Georg Hopp 4a075de846 fix bug that arose in rewrite of header get and results in an ugly memory leak, as well as no headers would be found any more 14 years ago
Georg Hopp 459ecc5d14 updated docs 14 years ago
Georg Hopp cb75a749e9 start split of request parser 14 years ago
Georg Hopp 8e4e3dae1e no more request body debig output 14 years ago
Georg Hopp 1c5d6099f5 add missing header_get to repo and build header hash only from lowercase letters now as it seems header identifier should be case insensitive 14 years ago
Georg Hopp f678adcae4 access to headers via hash, read body (actually only with content-length header should also look for content-encoding) 14 years ago
Georg Hopp de7e390c78 found the file handle lost...made a first workaround and added an todo. 14 years ago
Georg Hopp 228b1d0d29 changed request handling. @TODO: I still seem to have the problem that the file handles are not closed and freed correctly as the service refuses connections after about a 1000. 14 years ago
Georg Hopp 90df11c014 now each HttpRequestParser initializes its own request queue and enqueus completed requests there. The server now gets the queue and prints completed requests. 14 years ago
Georg Hopp 90476e07d8 add StreamReader interface, modify HttpRequestParser and Server to use it 14 years ago
Georg Hopp f366c0b865 add testserver and did some fixes not shown by my incomplete tests 14 years ago
Georg Hopp 06db4f6588 initial checkin 14 years ago