Base type for all async sockets
Represents a socket lifetime, completes at socket closure
Await until socket close
Check if the socket is closed