package kg.apc.emulators; import org.apache.jorphan.logging.LoggingManager; import org.apache.log.Logger; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; public class DatagramSocketEmulator extends DatagramSocket { private static final Logger log = LoggingManager.getLoggerForClass(); private DatagramPacket toRead; public DatagramSocketEmulator() throws SocketException { log.debug("Created emulator"); } @Override public synchronized void receive(DatagramPacket p) throws IOException { log.debug("Emulate receive: " + p); if (toRead == null) { throw new SocketException(); } p.setData(toRead.getData()); p.setAddress(toRead.getAddress()); //p.setSocketAddress(toRead.getSocketAddress()); toRead = null; } @Override public void send(DatagramPacket p) throws IOException { log.debug("Emulate send: " + p); } public void setDatagramToReceive(DatagramPacket datagramPacket) { toRead = datagramPacket; } }