lewissbaker / cppcoro

A library of C++ coroutine abstractions for the coroutines TS
MIT License
3.39k stars 467 forks source link

Add async network/socket capability #13

Open lewissbaker opened 7 years ago

lewissbaker commented 7 years ago

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.

lewissbaker commented 6 years ago

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:

Thoughts and feedback welcome...