summaryrefslogtreecommitdiff
path: root/includes
AgeCommit message (Collapse)Author
2011-11-16Adding the Regex class.Pixel
2011-11-16Seems clang is picky. I don't know if I like or hate this compiler yet.Pixel
2011-11-16I hate doing this, but, well. Maybe I should design a memory allocator ↵Pixel
class, but, meh.
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-16This function doesn't exist.Pixel
2011-11-16Of course, to be viable, the ReadOnly and WriteOnly classes need to derive ↵Pixel
from Handle...
2011-11-15Adding two Handle restricters: ReadOnly and WriteOnly.Pixel
2011-11-15Making the String class a bit more tolerent of NULL strings.Pixel
2011-11-15Adding a potential event to cancel a forced read/write, such as a timeout.Pixel
2011-11-15Moving code around for the Listener, in order to avoid too much template code.Pixel
2011-11-15Adding the forceRead/Write methods, to circumvent the potential problem that ↵Pixel
a file descriptor can do less than being asked.
2011-11-15Moving the static yield from Task.h to Task.cc. You don't want to throw an ↵Pixel
exception from a .h file...
2011-11-15Fixing the Socket code a bit, effectively making the listener system working.Pixel
2011-11-14Some more basic work on the HTTP server. Some of the main ideas are not ↵Pixel
fleshed up, and writing the actual server should now be sort of straightforward.
2011-11-14Making sure the typecasting on Handles worked properly.Pixel
2011-11-14As always, doing stuff during a constructor is a bad idea, especially if it ↵Pixel
contains a potential task switch.
2011-11-14If I'm having a wrapper class around Handles, it's for a reason...Pixel
2011-11-14Adding 'isEmpty' helper. We probably want a 'put' method also. That could ↵Pixel
come in handy.
2011-11-13Adding the skeleton of an HTTP server; still work in progress though: it ↵Pixel
still needs coding, and won't work as it. And it needs a unit test.
2011-11-13Adding an opaque pointer to the generic Socket listener.Pixel
2011-11-13Adding buffered streams; mainly for string parsing.Pixel
2011-11-13Adding isEOF() to Buffers (and cleaning code a tiny bit)Pixel
2011-11-13Adding seek and tell aliases to rseek and rtell.Pixel
2011-11-12Adding seekable buffers. Probably would need a few more tests in the Handles ↵Pixel
unit test.
2011-11-09Adding 'Output' objectPixel
2011-10-27Fixing a few oddities, and having the 'clean' target cleaning LuaJIT as well.Pixel
2011-10-26Adding Lua.Pixel
2011-10-26Protecting the IO class a bit more, and adding the raw filename paradigm for ↵Pixel
at least the Input class.
2011-10-25Adding the FileSystem global class with mkdir, and adding the writeString ↵Pixel
method to Handles. Also preparing the inclusion of Lua by adding LuaJIT.
2011-10-18Stopping the Task Manager when the Main Task exits, and having a switch to ↵Pixel
turn that off.
2011-10-18libcoro seems to be doing really spurious things when not using the standard ↵Pixel
functions. Switching out libcoro for the native Fibers interface for Win32. Switching out the asm version for the ucontext version for Linux.
2011-10-18Adding a few more asserts, and using the proper function calls (ntohs ↵Pixel
instead of htons - which should be fundamentally the same, but, *shrug*)
2011-10-18Fixing Darwin compilation:Pixel
-) Using clang instead of gcc for the native target (*sigh*) -) Fixing libeio (*sigh*) -) "Fixing" the connect() call in Sockets because Darwin is stupid (*SIIIIIIIGH*) Although the Threads unit test isn't working properly.
2011-10-17Making some adjustments to get the Socket code compiling under mingw32. ↵Pixel
Doesn't work though; I'm guessing IPv6 isn't really mingw32 thing. At least, it's not WinXP's. Will try later to make something that switches between IPv4 and IPv6 intelligently.
2011-10-17Adding the Socket class, and a few tools that comes with it.Pixel
2011-10-17Tweaking a bit the main event loop to simplify it.Pixel
2011-10-17Adding the Async event, and tweaking the others a bit.Pixel
2011-10-17Removing the 'non-preemptible' madness before it could even be used.Pixel
2011-10-17Redefined how the IO class works. The ref counting should now work properly.Pixel
2011-10-17Adding an early version of the 'engine debug' facility.Pixel
2011-10-14Fixing a few bugs.Pixel
-) The IO class needed an assignment operator, as well as the ability to NOT contain a Handle. -) The Task Manager wasn't properly starting up pending tasks that got added during startup.
2011-10-14Further tweaks to the Task class: now a Task can declare being smart, and ↵Pixel
say it's okay to get a EAgain exception, if the operation is interruptible.
2011-10-14Tweaking the Task class a bit.Pixel
-) setPreemptible now returns the previous state -) Events may now not have an owner -) Events may now have a callback (even though it still needs an owner to get into the ev_loop, for these kind of watchers...) TODO: -) think about a way to start a watcher without requireing a Task -) add a few more things in the Tasks unit tests
2011-10-14Making sure that external task yields are able to complete their subactions. ↵Pixel
Hence removing a few now unnecessary asserts.
2011-10-14Adding a Thread and a Queue class.Pixel
2011-10-14The tasks can now set themselves to be non-preemptible. Also implemented a ↵Pixel
mechanism to re-arm an event.
2011-10-13Having a template here is useless...Pixel
2011-10-12Enabling cross-compilation for Darwin. Haven't tested under the real thing ↵Nicolas "Pixel" Noble
yet though. The eprintf() thingy seems odd.
2011-10-12Forgot mingw32-config.h. Also fixed a couple of bugs:Pixel
WSAStartup has to be called in win32 at startup. The TLS environment needs to be cleared when created.