Leonid Kramer
8aae13b3c2
Merge pull request #182 from vibe-d/read_file_utf8_opt
...
Read file UTF-8 optimization
2019-10-25 20:58:05 +02:00
Sönke Ludwig
f56fd7580c
Avoid reallocating the data in readFileUTF8 if the UTF encoding is valid.
...
Uses the immutable overload of sanitizeUTF8 to reuse the original buffer if possible.
2019-10-22 11:41:35 +02:00
Sönke Ludwig
2e4bc6a316
Improve performance of sanitizeUTF8/readFileUTF8.
...
Uses std.encoding.sanitize, which returns the original string, if all code points are properly encoded. Note that the performance could still be improved considerably by iterating over multiple bytes at once, fast skipping over characters that don't have the most significant bit set.
2019-10-22 11:40:23 +02:00
Sönke Ludwig
81ba969fd6
Reduce log noise for worker tasks.
2019-10-22 11:30:31 +02:00
Sönke Ludwig
2bf660a529
Bump version to 1.8.0-alpha.1.
2019-09-27 17:37:43 +02:00
The Dlang Bot
b976519057
Merge pull request #180 from vibe-d/fix_yieldlock_destruction
...
Make sure that an uninitialized YieldLock does not decrement the lock counter
merged-on-behalf-of: Sönke Ludwig <s-ludwig@users.noreply.github.com>
2019-09-27 16:51:56 +02:00
Sönke Ludwig
aae2c28ef6
Make sure that an uninitialized YieldLock does not decrement the lock counter.
...
Uninitialized YieldLock values can happen in various ways, dispite the default constructor being disabled. If any such value got destroyed, it would lead to a negative lock count. Since this is handled properly now, the default constructor is also enabled in this commit.
2019-09-27 15:09:06 +02:00
Leonid Kramer
24a83434e4
Merge pull request #179 from vibe-d/path_optimization
...
Add a nogc path segment API
2019-09-26 11:54:36 +02:00
Leonid Kramer
09eb24c5f6
Merge pull request #178 from vibe-d/drop_spinlock
...
Remove SpinLock and use core.sync.mutex.Mutex instead.
2019-09-26 10:37:37 +02:00
Sönke Ludwig
645896bcfd
Use bySegment2 instead of bySegment for high-level functionality.
2019-09-19 15:33:00 +02:00
Sönke Ludwig
6ef53121ad
Add GenericPath.bySegment2 and .head2 as fully nogc alternatives.
2019-09-19 15:32:59 +02:00
Sönke Ludwig
32858b7aee
Rework the path segment encoding/decoding API.
...
- Deprecates Format.decodeSegment (returning a range of GemericPath.Segment) and added decodeSingleSegment instead, which returns a string instead.
- Adds Format.encodeSegment to encode a single path segment
2019-09-19 15:32:59 +02:00
Sönke Ludwig
5640516ba8
Remove SpinLock and use core.sync.mutex.Mutex instead.
...
The places that used it showed too much contention in load tests, so that the spin lock was more expensive that the regular OS mutex/futex.
2019-09-19 11:25:14 +02:00
Sönke Ludwig
591ab4a944
Merge pull request #177 from vibe-d/prepare_release
...
Prepare for 1.7.0 release
2019-09-17 23:40:53 +02:00
Sönke Ludwig
04be22b00e
Bump version number.
2019-09-17 19:37:13 +02:00
Sönke Ludwig
b775351e74
Update change log.
2019-09-17 19:37:13 +02:00
Sönke Ludwig
7f998a6bec
Test on DMD 2.088.0
2019-09-17 19:37:13 +02:00
The Dlang Bot
a39d3537ca
Merge pull request #171 from Geod24/deprecation
...
Clean up std.json deprecation, remove DUB hack in CI
merged-on-behalf-of: Sönke Ludwig <s-ludwig@users.noreply.github.com>
2019-09-17 16:05:12 +02:00
Sönke Ludwig
db994eaa80
Fix compile error on old compiler versions
2019-09-17 15:22:41 +02:00
Geod24
e7294bb9bd
Clean up std.json deprecation
2019-09-03 01:35:58 +09:00
Geod24
a88f9f92af
Remove dub hack in Travis config
2019-09-03 01:35:58 +09:00
Sönke Ludwig
ac548c2a24
Merge pull request #175 from JinShil/replace_hash_t
...
Replace `hash_t` and `sizediff_t` with `size_t` and `ptrdiff_t`
2019-08-31 10:30:24 +02:00
JinShil
bb25789132
Replace sizediff_t
with ptrdiff_t
2019-08-31 12:30:50 +09:00
JinShil
eb4344653e
Replace hash_t
with size_t
2019-08-31 12:29:15 +09:00
The Dlang Bot
da006ae154
Merge pull request #174 from vibe-d/test_ldc_1_17
...
Test on LDC 1.17.0.
merged-on-behalf-of: Sönke Ludwig <s-ludwig@users.noreply.github.com>
2019-08-26 23:23:58 +02:00
Sönke Ludwig
83b3c47578
Test on LDC 1.17.0.
2019-08-26 21:08:01 +02:00
Sönke Ludwig
3dff74fc0f
Bump version number.
2019-08-25 17:12:49 +02:00
Sönke Ludwig
0ffbc84091
Disable non-master Travis runs.
2019-08-25 17:12:30 +02:00
Sönke Ludwig
deda4bd973
Merge pull request #173 from vibe-d/async_fileops_improvements
...
Fix getFileInfo's exception handling and reduce overhead of the background work.
2019-08-25 17:11:47 +02:00
Sönke Ludwig
c38d181670
Add basic tests for getFileInfo.
2019-08-25 14:09:59 +02:00
Sönke Ludwig
d9e545bf60
Fix getFileInfo's exception handling and reduce overhead of the background work.
...
Instead of asyncWork, now uses a worker task directly and signals the finalization of the result using message passing. This avoids the roundtrip required to return the task handle, as well as the heap allocated result buffer of Future!T.
2019-08-25 12:02:08 +02:00
Sönke Ludwig
d7dfb6cd23
Bump version number.
2019-08-24 16:36:48 +02:00
Sönke Ludwig
5c1992ac6a
Update change log.
2019-08-24 16:35:50 +02:00
The Dlang Bot
beac700a5b
Merge pull request #166 from vibe-d/update_compiler_support
...
Update to DMD 2.087.0 and LDC 1.6.0.
merged-on-behalf-of: Leonid Kramer <l-kramer@users.noreply.github.com>
2019-08-24 11:34:26 +02:00
Sönke Ludwig
d549829c88
Fix process test.
2019-08-24 10:19:29 +02:00
Sönke Ludwig
771dc872c2
Restrict the set of tested compiler versions to the latest 4 + the oldest supported.
2019-08-23 09:54:22 +02:00
Sönke Ludwig
3e619560af
Add watchdog and log output to vibe.core.process test.
2019-08-22 21:58:05 +02:00
Sönke Ludwig
c74ce47cc9
Update to DMD 2.087.1 and LDC 1.6.0.
2019-08-22 21:58:05 +02:00
Sönke Ludwig
ce1adf8c3b
Merge pull request #172 from vibe-d/async_file_operations
...
Avoid all blocking file operations outside of worker threads
2019-08-21 20:59:45 +02:00
Sönke Ludwig
a2f970b7b2
Merge pull request #165 from vibe-d/pure_parent_path
...
Make GenericPath.parentPath pure.
2019-08-21 19:26:00 +02:00
Sönke Ludwig
84907ddbe3
Merge pull request #168 from v1ne/fix-appending-to-file
...
FileStream: Adjust file offset when appending to a file
2019-08-21 19:25:17 +02:00
Sönke Ludwig
f6b97b04c3
Make GenericPath.parentPath pure.
2019-08-21 13:57:54 +02:00
Sönke Ludwig
e3a38b374e
Let all non-aio file system functions run in worker threads.
...
This avoids stalling the event loop in case of lengthy I/O (network shares, spinning up hard drives etc).
2019-08-21 13:34:00 +02:00
Sönke Ludwig
881e3da5f9
Make async marked safe if possible and add asyncWork.
...
asyncWork is the same as async, except that it guarantees that the computation happens in a worker thread.
2019-08-21 13:34:00 +02:00
Sönke Ludwig
4f5636dadf
Mark async/Future and runWorkerTaskH as safe.
2019-08-21 13:34:00 +02:00
Sönke Ludwig
7c609dd07f
Merge pull request #169 from tchaloupka/connpool_unlockOnErr
...
Unlock ConnectionPool on failure
2019-07-31 22:38:37 +02:00
Tomáš Chaloupka
4e8302d10d
unlock ConnectionPool on failure
2019-07-31 14:41:26 +02:00
v1ne
513bebcb95
FileStream: Approximate the file offset better when appending
...
Instead of starting at zero, start at the current file size. This offset
is stored in FileStream. It is only an approximation because concurrent
writes could advance the file without FileStream's knowledge.
Add a test that shows that the offset is approximated as expected and that
appending to an existing file works, too.
This is also a regression test which shows that appending to an existing
file works as expected. See vibe-d/eventcore#115 .
2019-07-26 00:38:15 +02:00
v1ne
ce9faec1c1
FileStream: Forbid seek(.) or truncate(.) when appending to a file
...
Those functions do not work for files opened for appending. Make this clear.
2019-07-26 00:29:59 +02:00
v1ne
3ebb065509
Clean up: Use "enforce"
2019-07-26 00:29:59 +02:00