Michael Fabian 'Xaymar' Dirks
d6e6ec96c4
windows: Rewrite onto IOCompletionPorts
...
IOCompletionPorts are the modern way to handle asynchronous IO without affected the system too much. Synchronization, work allocation and spreading, etc is all handled by the OS for us, which reduces the work we have to do in order to be NUMA aware. While this is far from perfect, it should perform better than a naive threaded approach.
ToDo:
- Add documentation generation
- Add Github Actions integration
- Write tests for everything.
- Update 'benchmark' sample to work again.
- Figure out a useful way to deal with connect/disconnect/error events.
- Figure out the broken pipe error, caused by an additional connected event where none should have been.
2020-06-22 00:43:06 +02:00
Michael Fabian 'Xaymar' Dirks
f9acd6984a
windows: Improve stability by enforce no-copy
2020-01-23 04:01:44 +01:00
Michael Fabian 'Xaymar' Dirks
55d7d90209
windows: Fix accidental rename
2020-01-23 02:35:36 +01:00
Michael Fabian 'Xaymar' Dirks
acd4d4b356
cmake: Further refactoring and formatting
2020-01-23 01:51:15 +01:00
Michael Fabian 'Xaymar' Dirks
4bdcf51c54
windows/datapath: Windows implementation
2019-04-11 01:44:10 +02:00
Michael Fabian 'Xaymar' Dirks
8571beb2dc
windows/server: Fix crash when disconnecting sockets
2019-01-08 07:57:40 +01:00
Michael Fabian 'Xaymar' Dirks
9b9504d925
windows/waitable: Allow a timeout of 0
2019-01-08 03:01:54 +01:00
Michael Fabian 'Xaymar' Dirks
80ee995dbd
windows/utility: Set event in def_io_completion_routine
2019-01-08 03:01:19 +01:00
Michael Fabian 'Xaymar' Dirks
6029b37796
windows/socket: Assign io completion routine and test event first
2019-01-08 03:01:03 +01:00
Michael Fabian 'Xaymar' Dirks
28aaf02788
server: Fix several crashes with variable iteration
2019-01-08 03:00:29 +01:00
Michael Fabian 'Xaymar' Dirks
2af167bec3
waitable: Do not return Failure when timing out.
2019-01-07 00:27:37 +01:00
Michael Fabian 'Xaymar' Dirks
6626a5441b
socket: Remove datapath::error from on_close
2019-01-07 00:25:03 +01:00
Michael Fabian 'Xaymar' Dirks
18c772fafb
server: Asynchronous Accept events
...
This detaches accept from the task workflow.
2019-01-07 00:24:42 +01:00
Michael Fabian 'Xaymar' Dirks
98654b68f1
waitable: Fix asserts
2019-01-07 00:23:40 +01:00
Michael Fabian 'Xaymar' Dirks
808af66bb0
task: Add header information to data
2019-01-07 00:23:40 +01:00
Michael Fabian 'Xaymar' Dirks
5facc71844
windows/utility: Add default io completion routine
2019-01-07 00:23:40 +01:00
Michael Fabian 'Xaymar' Dirks
8417fdfd67
datapath.hpp: Assign default max client to be 0 (infinite)
2019-01-06 11:25:48 +01:00
Michael Fabian 'Xaymar' Dirks
1f5096f3a5
License: Fix extra space before name
2019-01-06 11:17:01 +01:00
Michael Fabian 'Xaymar' Dirks
92e5a327b2
Initial Code
2019-01-06 11:12:50 +01:00