Commit graph

24 commits

Author SHA1 Message Date
Sönke Ludwig 1f0ac47b9d Rework the listDirectory implementation.
- Directly uses OS facilities instead of Phobos to avoid string processing overhead and to enable fast skipping of non-directories
- Introduces a DirectoryListMode, similar to SpanMode
- Uses low-overhead channels to reduce the communication overhead between the calling thread and the worker thread that calls the OS
- Adds FileInfo.path to properly support the new recursive directory iteration schemes
2021-01-12 10:55:29 +01:00
Sönke Ludwig 6b1c26eec6 Add "cfrunloop" configuration for macOS.
Also requires at least eventcore 0.9.2 to work.
2020-05-24 10:07:26 +02:00
Sönke Ludwig a4e87237e4 Remove potentially blocking file I/O code (upgrade to eventcore 0.9.0).
- file and pipe closing are now asynchronous operations
- moveFile and removeFile are now executed in a worker thread
- requires eventcore ~>0.9.0
2020-05-17 15:10:01 +02:00
Sönke Ludwig d1340f9e10 Update package copyright. 2020-04-17 20:29:19 +02:00
Sönke Ludwig 54208ba46f Require eventcore 0.8.43 for process and reuseAddress support. 2019-06-04 15:19:52 +02:00
Sönke Ludwig f35e8f1d69 Add FileStream.truncate. 2018-12-28 10:14:50 +01:00
Sönke Ludwig 78fef30310 Implement callback based timers without relying on a task. Fixes #86.
In the previous implementation, the callback tasks were starving as soon as the last external reference to a non-pending timer was given up.
2018-10-27 15:48:21 +02:00
Sönke Ludwig 2c63aa5c5c Allow destructors to run in foreign threads. Fixes #69.
This change modifies destructors to anticipate that they can be called form a foreign thread if the GC is involved. The actual release of the reference will then happen deferred in the original thread.
2018-03-16 18:06:53 +01:00
Sönke Ludwig 103fb0e999 Update copyright date. 2018-02-26 20:38:54 +01:00
Sebastian Wilzbach 0eed0fe8b7 Use the stable stdx-allocator DUB package 2017-12-03 20:38:07 +01:00
Sönke Ludwig 333643d48e Add interface_address parameter to UDPConnection.addMembership. 2017-09-15 15:54:59 +02:00
Sönke Ludwig ebb32c4776 Update eventcore dependency. 2017-09-05 10:29:39 +02:00
Sönke Ludwig 01ed0a43de Adjust for eventcore 0.8.12. 2017-06-27 01:11:50 +02:00
Sönke Ludwig 9e492ab4f1 Add missing forward configurations for optlink based builds. 2017-03-09 13:57:03 +01:00
Sönke Ludwig 5f980acefd
Upgrade to latest eventcore. 2017-01-25 21:04:13 +01:00
Sönke Ludwig 2acc60934f
Add IOMode parameters to stream read/write methods. 2017-01-19 00:36:32 +01:00
Sönke Ludwig 87df128246
Don't generate coverage information in unittest mode. 2017-01-18 10:42:33 +01:00
Sönke Ludwig b73dadde0c Use latest eventcore. 2017-01-15 22:18:17 +01:00
Sönke Ludwig 003331cc90 Test with all Linux eventcore configurations. 2016-12-19 22:37:18 +01:00
Sönke Ludwig df69c86bd4 Fix debug versions in package recipe. 2016-11-29 19:17:40 +01:00
Sönke Ludwig 3a5975f046 Add appmain for backwards compatibility. 2016-11-04 21:34:01 +01:00
Sönke Ludwig c08f101549 Update for eventcore 0.5.0 and the latest DMD beta. 2016-10-24 08:22:49 +02:00
Sönke Ludwig e294d24a4b Update for latest eventcore version. 2016-10-05 14:40:29 +02:00
Sönke Ludwig 7e2d1dd038 Initial commit.
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.
2016-03-01 20:30:42 +01:00