cppcoro icon indicating copy to clipboard operation
cppcoro copied to clipboard

Add async network/socket capability

Open lewissbaker opened this issue 7 years ago • 1 comments

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 avatar May 27 '17 13:05 lewissbaker

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...

lewissbaker avatar Dec 28 '17 13:12 lewissbaker