interface UDPSocket rewritten to be based on Streams API