Big refactoring step.

- Moves a lot of stuff from vibe.core.core to vibe.core.task
- Introduces TaskScheduler to unify the scheduling process
- Refines how tasks are scheduled and processed (can push to the front of the task queue and uses a marker task to keep track of the spot up to which to process)
- Start to add proper support for task interrupts and timeouts by properly cancelling in-flight async operations
- Work on ManualEvent - still not functional for the shared case
- Implement proper IP address parsing in NetworkAddress
This commit is contained in:
Sönke Ludwig 2016-06-14 08:01:03 +02:00
parent c3857d1bc9
commit 3b0e4e0452
6 changed files with 1097 additions and 678 deletions

View file

@ -859,6 +859,7 @@ private struct LogOutputRange {
void put(dchar ch)
{
static import std.utf;
if (ch < 128) put(cast(char)ch);
else {
char[4] buf;