Commit graph

61 commits

Author SHA1 Message Date
Sönke Ludwig d2b777607a Use normal task priority when handling events.
Defining VibeHighEventPriority to revers to the old event scheduling priority.
2020-03-15 10:54:55 +01:00
Sönke Ludwig 8e24c4a204 Correct copyright holder.
rejectedsoftware e.K. doesn't exist anymore since mid-2019.
2020-01-27 19:20:52 +01:00
Szabo Bogdan 7f5be316a1
Add a way to enforce that the GC is not running 2019-12-12 10:06:19 +01: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
JinShil bb25789132 Replace sizediff_t with ptrdiff_t 2019-08-31 12:30:50 +09:00
Sönke Ludwig dee54e505a Make FixedRingBuffer compatible with non-copyable structs. 2019-01-14 22:15:38 +01:00
Sönke Ludwig 967654f175 Add unit test for postblit behavior of InterfaceProxy. 2018-03-16 18:00:56 +01:00
Sönke Ludwig eb046e2295 Fix deprecation warnings on DMD 2.079.0. 2018-03-06 20:13:59 +01:00
Sönke Ludwig ae0b326fbd Remove noisy log message. 2018-02-22 14:09:20 +01:00
Sönke Ludwig 59b25701ac Remove DMD 2.070.x compatibility code. 2018-02-14 13:10:34 +01:00
Sebastian Wilzbach 0eed0fe8b7 Use the stable stdx-allocator DUB package 2017-12-03 20:38:07 +01:00
Boris-Barboris 6634cbc645 switch to asyncAwait 2017-11-25 15:27:17 +01:00
Sönke Ludwig fc89257afd
Fixup for c95306245f. 2017-10-31 23:04:13 +01:00
Sönke Ludwig c95306245f
Improve InterfaceProxy(Class).
- InterfaceProxyClass can now be allocated/freed using a custom allocator
- Non-copyable values can be moved into an InterfaceProxyClass instance
- Non-copyable values can be moved into an InterfaceProxy
2017-10-30 23:01:22 +01:00
Sönke Ludwig b68d23f515
Add opCast(bool) to FreeListRef and remove opAssign with value type. 2017-10-30 22:58:30 +01:00
Sönke Ludwig ecd981b1e1
Fix compile error in internal API. 2017-10-30 22:56:19 +01:00
Sönke Ludwig 72540d7eaf Work around DigitalMars/optlink#18. 2017-09-27 17:43:08 +02:00
Sönke Ludwig 9fe9783443 Convert Waitable from struct to pure template to avoid heap closures.
Also fixes a case where ThreadLocalWaiter.emitSingle overlaps a call to .emit.
2017-09-27 16:41:11 +02:00
Sönke Ludwig e32d818873 Add CircularDList.insertAfter. 2017-09-27 16:41:11 +02:00
Sönke Ludwig a60828d6da Mark more classes as final. 2017-07-23 15:04:11 +02:00
Sönke Ludwig 536fa09780 Add helper module with intrusive singly and doubly linked lists. 2017-07-20 13:34:39 +02:00
Sönke Ludwig cfb4f83113 Add makeGCSafe/disposeGCSafe as GC safe variants of make/dispose.
If necessary, these will call GC.addRange/GC.removeRange to avoid dangling GC references.
2017-07-20 13:34:12 +02:00
Sönke Ludwig 7f050af455 Merge pull request #21 from wilzbach/trailing-whitespace
Remove all trailing whitespace + add check
2017-07-19 09:20:19 +02:00
Sönke Ludwig 3d1175e821
Fix InterfaceProxy when used with class instances. 2017-07-19 00:10:39 +02:00
Sebastian Wilzbach 8f89733a86 Remove all trailing whitespace
sed 's/[ \t]*$//' -i **/*.d
2017-07-03 12:19:27 +02:00
Sönke Ludwig 58ee4a8839
Use a thread local allocator instead of processAllocator in HashMap.
This is required since processAllocator returns an ISharedAlloactor since 2.075.0. Because HashMap is operating only thread-local, this should generally be safe.
2017-06-28 17:22:13 +02:00
Sönke Ludwig 6f78310f26 Use scope parameters for FixedRingBuffer as appropriate. 2017-02-22 19:51:15 +01:00
Sönke Ludwig 02e00944f6
Fix possible range violation in BatchBuffer.popFront(N). 2017-01-30 17:27:17 +01:00
Sönke Ludwig 3a3eb73006
Fix InterfaceProxy when used with class instances. 2017-01-27 00:51:22 +01:00
Sönke Ludwig 822dcccf34
Add interfaceProxy function to allow for better vibe:core compatibility. 2017-01-26 23:53:18 +01:00
Sönke Ludwig 8985923e4d
Let InterfaceProxy handle parameter storage classes properly. 2017-01-25 22:40:07 +01:00
Sönke Ludwig 9d4e8086ff Make the callback type the first argument to Waitable!(). 2017-01-16 00:23:37 +01:00
Sönke Ludwig 964d72f3b5 Fix handling of scoped callback parameters in eventcore callbacks. 2017-01-16 00:20:35 +01:00
Sönke Ludwig 32d360baac Add callback based result retrieval for asyncAwaitAny.
This can be used to safely retrieve scoped data.
2017-01-15 23:55:37 +01:00
Sönke Ludwig f015662a94 TCPConnection and async improvements.
- asyncAwaitAny now takes the callback type, so that parameter storage classes are handled correctly
- Implement TCPConnection.remoteAddress/localAddress
- Implement TCPConnection.tcpNoDelay, keepAlive and readTimeout
- Implement timeout handling for TCPConnection.waitForData
2017-01-15 20:59:36 +01:00
Sönke Ludwig 35a94412d0 Make FileStream small enough to fit into an InterfaceProxy. 2016-12-26 21:28:36 +01:00
Sönke Ludwig 09d9ea47bf Fix InterfaceProxy to not explicitly destroy contained class instances.
This lead to double-destruction in case an InterfaceProxy was copied.
2016-12-10 14:21:57 +01:00
Sönke Ludwig 81b7010724 Fix some safety annotation issues. 2016-11-10 12:19:39 +01:00
Sönke Ludwig ccbd6a063f Fix FreeListRef related issues. 2016-11-10 12:01:35 +01:00
Sönke Ludwig 18a5afddc4 Fix test compilation on DMD 2.071.x. 2016-11-08 15:41:59 +01:00
Sönke Ludwig f74c30a9f3 Use std.experimental.allocator and remove the custom allocator module. 2016-11-08 15:32:25 +01:00
Sönke Ludwig 55a06c30f3 Add missing interface proxy module. 2016-11-08 14:48:38 +01:00
Sönke Ludwig eb0697d6e4 Let types that implicitly convert to interface pass interface check.
"null" in particular is now considered to pass the interface conformance check.
2016-11-05 01:42:20 +01:00
Sönke Ludwig 9cfb702f0b Fix deprecation warnings. 2016-11-05 01:41:15 +01:00
Sönke Ludwig a8cd1be065 More safe-ty. 2016-11-05 01:06:11 +01:00
Sönke Ludwig 9df6874a55 Annotate FreeListRef safe as far as possible. 2016-11-05 00:58:51 +01:00
Sönke Ludwig b96c20ef54 Fix interface conformance checks.
- Now includes final interface methods
- Properly checks attributes
2016-11-02 20:59:19 +01:00
Sönke Ludwig 616130cef1 Safe-ify internal code. 2016-11-02 20:53:30 +01:00
Sönke Ludwig 0ee42c4243 Add vibe.d 0.7.x compatible stream definitions.
In contrast to 0.7.x, streams can now be either of class, struct or interface type.
2016-10-26 13:11:28 +02:00
Sönke Ludwig 4db9b3f100 Implement DNS lookups and partially implement UDP. 2016-10-25 00:27:51 +02:00