add two way udp communication
replace runtime assertion with compile time error