Represents a bound datagram socket
Attach channel for reading so incoming bytes appears in the attached channel. Only one channel could be attached
expect abstract fun close()
Incoming datagrams channel
Local socket address. Could throw an exception if no address bound yet.
Datagram outgoing channel.
Represents a socket lifetime, completes at socket closure
Check if the socket is closed
Open a read channel, could be done only once