Represents a server bound socket ready for accepting connections
accepts socket connection or suspends if none yet available.
Local socket address. Could throw an exception if no address bound yet.
Represents a socket lifetime, completes at socket closure
Await until socket close
Check if the socket is closed