summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2011-12-04Reworked some things in the architecture, mainly exceptions and asserts.Pixel
-) Removed Assert() -) Added AAssert(), IAssert(), RAssert(), TAssert() and Failure() -) Reworked all asserts in the code, and added meaningful messages to them. -) Changed the way the startup code is generated; BALAU_STARTUP is no longer necessary.
2011-11-29(very small) optimization in the error handler of the HTTP server.Pixel
2011-11-29Getting rid of the std::pair; they are ugly as hell.Pixel
2011-11-29Making things a bit more pretty:Pixel
-) Using an actual embedded style sheet within the error document (serifs are evil) -) Changing the ugly `' into `´, at least for the HTML output. -) Adding the title into the error page.
2011-11-29Fixing Mustache's escaping (again).Pixel
2011-11-29Now using SimpleMustache to render the error messages.Pixel
2011-11-29Fixing a stupid bug in the escape() code of SimpleMustache.Pixel
2011-11-29Being a bit more laxist with Mustache's values, and accepting almost ↵Pixel
anything as a variable; also adding a checkTemplate() method to assert a few things onto a template after loading it.
2011-11-29The TaskManager no longer waits on the pop(); instead it waits in the libev ↵Pixel
loop; also the Queue<> template changed for a naive but std-less implementation.
2011-11-29Adding detailled logs, with timestamp and threadid.Pixel
2011-11-29Adding the memory fence across the resolver thread, and actually using ↵Pixel
getsockopt(..., SO_ERROR) on the second spin of connect(). That'd get better results out of it.
2011-11-28Fixing a debug message.Pixel
2011-11-28Whoops: forgot to implement the escaping function.Pixel
2011-11-26Adding a few todo-like comments in the SimpleMustache code - not that I ↵Pixel
actually intend to implement them anyway...
2011-11-25Fixing a few bugs and warnings.Pixel
2011-11-25Adding a small documentation.Pixel
2011-11-25Making values other than bool always true.Pixel
2011-11-25If a Buffer came from const, don't try to free its memory...Pixel
2011-11-25Adding a simple 'Mustache' template processor in C++.Pixel
2011-11-25We need the buffered streams to be detacheablePixel
2011-11-25Consts are good.Pixel
2011-11-23Adding the isA<>() template / method to the IO proxy, and optimizing the ↵Pixel
BStream using it, in case one never wants to use the readString() or peekByte() methods.
2011-11-21GeneralException() will now trace the callstack and store this, for ↵Pixel
debugging purposes.
2011-11-19Having the ability to create buffers from const memory.Pixel
2011-11-19Having String.set returning this.Pixel
2011-11-19Adding error 500s support.Pixel
2011-11-19Of course, spaces are optionnal...Pixel
2011-11-19Handling more Connection tags, separated with commas; and adding the 'split' ↵Pixel
method to String.
2011-11-19Fixing a few very stupid bugs.Pixel
2011-11-18Starting to re-organize the HTTP code a bit. Sharing code between the server ↵Pixel
and a potential client makes sense. Also packing requests and responses into structures / classes is probably a good idea.
2011-11-18Updating libev's timestamp after we (potentially) wait a long time for ↵Pixel
something to do.
2011-11-17Adding a few reasons why we'd get an HTTP 400 error, and fixing the ↵Pixel
Connection header (I hate RFCs, they never mentionned keep-alive in the list of potential headers)
2011-11-17Look at that. It seems that, indeed, IPv6 CAN get very retarded.Pixel
2011-11-17HTTP server's first real test, alongside multiple taskmanager threads.Pixel
I'm not really sure I fully like the way I'm designing this, but I guess it could be solved with an HTTP/HTML helper class around the Action class. However, the HTTP server awfully need reference counting, so it doesn't go away before all of the workers disappear, which means a bit of a redesign of the Listener template.
2011-11-17Forgot to remove this; we shouldn't free the stack from the Task itself ↵Pixel
anymore: the task manager takes care of this now.
2011-11-17And adding the round robin system to the task scheduler. Now to write some ↵Pixel
unit test for this...
2011-11-17Cleaning some code, redesigning a bit the stack allocation problem from the ↵Pixel
task manager, and actually implementing it properly.
2011-11-17Introducing the fact we need a more efficient stack allocator, and that it's ↵Pixel
to be performed from the task manager.
2011-11-17Since tasks can be on different task managers, one has to signal them a bit ↵Pixel
differently.
2011-11-16Adding the Regex class.Pixel
2011-11-16clang actually managed to pick up a bug...Pixel
2011-11-16And with the new TaskScheduler system, let's add a way for a new task to ↵Pixel
stick on another one's thread, if needed. (and it is)
2011-11-16Kind of a big revamp of the TaskMan / Task model, in order to introduce a ↵Pixel
TaskScheduler. The idea is that we need to support multiple task managers from multiple threads. So that revamp means we now should be able to support that, except the TaskScheduler needs to implement a round robin system, to distribute tasks across multiple task managers. But at least, the fundamental redesign to permit this is here.
2011-11-16Even if an URI doesn't have variables embedded, it still may contained ↵Pixel
escaped characters.
2011-11-16Adding a simple 'daemon name' for our output.Pixel
2011-11-16Using the new WriteOnly class in the HttpServer, to protect the socket from ↵Pixel
being read, as it needs to go thru the BStream.
2011-11-15Basic POST support done; multipart/form-data is yet to be finalized.Pixel
2011-11-15A bit more work on the HTTP server. Only the parsing of the POST method is ↵Pixel
remaining. Multipart is going to be cumbersome.
2011-11-15The HTTP server now takes advantage of that new parameter of forceRead/Write.Pixel
2011-11-15Adding a potential event to cancel a forced read/write, such as a timeout.Pixel