Todo List
File ConnectedUDPSocketHandle.hh
Implement possibly non-blocking connect and SO_ERROR in the protocol interface
File INetSocketProtocol.hh

what about OOB data?

Implement IP_RECVERR / MSG_ERRQUEUE. This should be placed into an additional protocol facet since IP_RECVERR is only valid for SOCK_DGRAM (UDP) and not SOCK_STREAM (TCP) sockets

File ReadWritePolicy.hh
ReadWritePolicy.test.cc
Class senf::ClientSocketHandle< SPolicy >
Move all not template-parameter dependent code into a non-template base class
Class senf::DVBDemuxSocketProtocol
Document me!
Class senf::MulticastSocketProtocol
implement complete new multicast API from RFC3678 (as far as supported by linux)
Member senf::ServerSocketHandle< SPolicy >::listen (unsigned backlog=0)
This is very protocol specific, I don't want it in the policy interface. Especially the backlog argument seems quite protocol specific to me. However, we cannot listen() before we bind() so listen() cannot reside in the constructor. We need to find a good solution here.
Class senf::SocketHandle< SPolicy >
Create a SocketHandleBase class and move some non-Policy dependent code there
Member senf::SocketHandle< SPolicy >::SocketHandle (FileHandle other, bool isChecked)
Answer, why the heck I need the isChecked parameter ??
File TCPSocketHandle.hh
Implement possibly non-blocking connect and SO_ERROR in the protocol interface
File UDPSocketHandle.hh
Implement possibly non-blocking connect and SO_ERROR in the protocol interface