The previous fix for #1376 resulted in a possible task starvation when the peer reset the connection before the outbound buffer was drained. The new approach now always resumes the waiting task exactly once, no matter how many events happen and no matter in which order.
(cherry picked from commit 350130a2b05cfbf12764ffaa6a86403eacf172d9)
- it might make sense to have newlines in a log message
(e.g. when printing a backtrace) and they shouldn't
be split into multiple log messages, e.g. when using syslog
- the splitting was fixed to work with more than one LF
(cherry picked from commit d14ce3dea1b98227dcd116acc6b175c56d9a1fb0)
The library is able to support simple TCP servers in the current state. The API is still mostly compatible with mainline vibe.d, but the driver systen has been replaced by the eventcore library and sockets/files/timers/... are now structs with automatic reference counting instead of GC collected classes. The stream interfaces have been removed for now.