cppcoro
cppcoro copied to clipboard
Add async network/socket capability
Extend I/O support to include support for sockets (at least tcp/ip and udp/ip protocols) using winsock and I/O completion ports on top of cppcoro::io_service
.
Needs async methods for: accept, connect, disconnect, send/sendto, recv/recvfrom Ideally also support gather-send and scatter-recv operations.
This will also need some abstraction for dealing with IP address (IPv4 + IPv6). Need to look into what the networking TS provides towards this.
I've pushed the beginnings of some socket support for Windows to the 'sockets' branch. See https://github.com/lewissbaker/cppcoro/commit/ddb9486e014a6b3d16c6c0cb9a380c0896acfff1
Still needs:
- sendto/recvfrom
- scatter-recv/gather-send
- socket option settings - timeouts, nagle, etc
- docs
- more tests
Thoughts and feedback welcome...