diff --git a/java/base/src/main/java/base/Duplex.java b/java/base/src/main/java/base/Duplex.java new file mode 100644 index 0000000..9e9c91c --- /dev/null +++ b/java/base/src/main/java/base/Duplex.java @@ -0,0 +1,3 @@ +package base; + +public interface Duplex extends Forwarder, Sender {} diff --git a/java/base/src/main/java/base/receiver/Forwarder.java b/java/base/src/main/java/base/Forwarder.java similarity index 73% rename from java/base/src/main/java/base/receiver/Forwarder.java rename to java/base/src/main/java/base/Forwarder.java index d390c48..a54be61 100644 --- a/java/base/src/main/java/base/receiver/Forwarder.java +++ b/java/base/src/main/java/base/Forwarder.java @@ -1,8 +1,6 @@ -package base.receiver; - -import base.Control; +package base; public interface Forwarder extends Control { public void register(Receiver receiver); public void remove(Receiver receiver); -} +} \ No newline at end of file diff --git a/java/base/src/main/java/base/receiver/Receiver.java b/java/base/src/main/java/base/Receiver.java similarity index 73% rename from java/base/src/main/java/base/receiver/Receiver.java rename to java/base/src/main/java/base/Receiver.java index 4dd22a6..31bc1b4 100644 --- a/java/base/src/main/java/base/receiver/Receiver.java +++ b/java/base/src/main/java/base/Receiver.java @@ -1,7 +1,5 @@ -package base.receiver; +package base; public interface Receiver { - public void receive(byte[] buffer); - } diff --git a/java/base/src/main/java/base/sender/Sender.java b/java/base/src/main/java/base/Sender.java similarity index 74% rename from java/base/src/main/java/base/sender/Sender.java rename to java/base/src/main/java/base/Sender.java index 7491400..9464f1d 100644 --- a/java/base/src/main/java/base/sender/Sender.java +++ b/java/base/src/main/java/base/Sender.java @@ -1,9 +1,7 @@ -package base.sender; +package base; import java.io.IOException; -import base.Control; - public interface Sender extends Control { public void send(byte[] buffer) throws IOException; } diff --git a/java/base/src/main/java/base/loader/AbstractLoader.java b/java/base/src/main/java/base/loader/AbstractLoader.java index 24a5cd4..b145e17 100644 --- a/java/base/src/main/java/base/loader/AbstractLoader.java +++ b/java/base/src/main/java/base/loader/AbstractLoader.java @@ -10,14 +10,18 @@ import org.picocontainer.parameters.ConstantParameter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import base.Duplex; +import base.Forwarder; +import base.Sender; import base.exception.LoaderException; -import base.sender.UdpSender; -import base.server.forwarder.TcpServerChannelForwarder; -import base.server.forwarder.TcpServerSocketForwarder; -import base.server.forwarder.UdpServerForwarder; +import base.server.datagram.UdpSender; +import base.server.forwarder.UdpDuplexClientForwarder; +import base.server.forwarder.UdpDuplexServerForwarder; -public class AbstractLoader { +public class AbstractLoader { protected static final String PROPERTIES_FILE = "loader.properties"; + protected static final Properties SERVER = null; + protected Logger logger = LoggerFactory.getLogger(AbstractLoader.class); protected MutablePicoContainer pico; @@ -31,8 +35,8 @@ public class AbstractLoader { } @SuppressWarnings({ "rawtypes", "unchecked" }) - public static E getLoader() throws LoaderException { - return (E) new AbstractLoader(readProperties(PROPERTIES_FILE)); + public static T getLoader() throws LoaderException { + return (T) new AbstractLoader(readProperties(PROPERTIES_FILE)); } public static Properties readProperties(String propertiesFile) throws LoaderException { @@ -46,51 +50,97 @@ public class AbstractLoader { return properties; } - protected void addSender(String protocol, String implementation, String host, int port) throws LoaderException { - Class senderClass = null; + protected Class getSenderClass(String protocol, String implementation) throws LoaderException { + switch (protocol) { + case "tcp": + switch (implementation) { + case "channel": + return base.server.channel.TcpClient.class; + default: + case "socket": + return base.server.socket.TcpClient.class; + } + case "udp": + return UdpSender.class; + } + throw new LoaderException("Failed to determine "); + } + + protected Class getClientForwarderClass(String protocol, String implementation) throws LoaderException { switch (protocol) { case "tcp": switch (implementation) { case "channel": - senderClass = base.server.channel.TcpClient.class; - break; + return base.server.forwarder.TcpClientChannelForwarder.class; default: case "socket": - senderClass = base.server.socket.TcpClient.class; + return base.server.forwarder.TcpClientSocketForwarder.class; } - break; case "udp": - senderClass = UdpSender.class; - break; + return UdpDuplexClientForwarder.class; } - if (senderClass == null) { - throw new LoaderException("Failed to determine "); + throw new LoaderException("Failed to determine "); + } + + protected Class getServerForwarderClass(String protocol, String implementation) throws LoaderException { + switch (protocol) { + case "tcp": + switch (implementation) { + case "channel": + return base.server.forwarder.TcpChannelServerForwarder.class; + default: + case "socket": + return base.server.forwarder.TcpSocketServerForwarder.class; + } + case "udp": + return UdpDuplexServerForwarder.class; } - pico.addComponent(senderClass, senderClass, new Parameter[]{ + throw new LoaderException("Failed to determine "); + } + + protected void addClientSender(String protocol, String implementation, String host, int port) throws LoaderException { + Class senderClass = getSenderClass(protocol, implementation); + logger.debug("Adding " + senderClass); + pico.addComponent(Sender.class, senderClass, new Parameter[]{ new ConstantParameter(host), new ConstantParameter(port)}); } - protected void addForwarder(String protocol, String implementation, int port) throws LoaderException { - Class forwarderClass = null; - switch (protocol) { - case "tcp": - switch (implementation) { - case "channel": - forwarderClass = TcpServerChannelForwarder.class; - break; - default: - case "socket": - forwarderClass = TcpServerSocketForwarder.class; - } - break; - case "udp": - forwarderClass = UdpServerForwarder.class; - } - if (forwarderClass == null) { - throw new LoaderException("Failed to determine "); - } - pico.addComponent(forwarderClass, forwarderClass, new Parameter[]{ + protected void addServerSender(String protocol, String implementation, int port) throws LoaderException { + Class senderClass = getSenderClass(protocol, implementation); + logger.debug("Adding " + senderClass); + pico.addComponent(Sender.class, senderClass, new Parameter[]{ new ConstantParameter(port)}); } + + protected void addClientForwarder(String protocol, String implementation, String host, int port) throws LoaderException { + Class forwarderClass = getClientForwarderClass(protocol, implementation); + logger.debug("Adding " + forwarderClass); + pico.addComponent(Forwarder.class, forwarderClass, new Parameter[]{ + new ConstantParameter(host), + new ConstantParameter(port)}); + } + + protected void addClientDuplex(String protocol, String implementation, String host, int port) throws LoaderException { + Class duplexClass = getClientForwarderClass(protocol, implementation); + logger.debug("Adding " + duplexClass); + pico.addComponent(Duplex.class, duplexClass, new Parameter[]{ + new ConstantParameter(host), + new ConstantParameter(port)}); + + } + + protected void addServerForwarder(String protocol, String implementation, int port) throws LoaderException { + Class forwarderClass = getServerForwarderClass(protocol, implementation); + logger.debug("Adding " + forwarderClass); + pico.addComponent(Forwarder.class, forwarderClass, new Parameter[]{ + new ConstantParameter(port)}); + } + + protected void addServerDuplex(String protocol, String implementation, int port) throws LoaderException { + Class duplexClass = getServerForwarderClass(protocol, implementation); + logger.debug("Adding " + duplexClass); + pico.addComponent(Duplex.class, duplexClass, new Parameter[]{ + new ConstantParameter(port)}); + } } diff --git a/java/base/src/main/java/base/sender/TcpSender.java b/java/base/src/main/java/base/sender/TcpSender.java deleted file mode 100644 index 9338f98..0000000 --- a/java/base/src/main/java/base/sender/TcpSender.java +++ /dev/null @@ -1,19 +0,0 @@ -package base.sender; - -import java.io.IOException; - -import base.server.socket.TcpClient; - -public abstract class TcpSender extends TcpClient implements Sender { - public TcpSender(String host, int port) { - super(host, port); - } - - public void send(byte[] buffer) throws IOException { - if (!active()) { - start(); - // Control over threads here? - } - outputStream.write(buffer); - } -} diff --git a/java/base/src/main/java/base/server/channel/TcpClient.java b/java/base/src/main/java/base/server/channel/TcpClient.java index 125db67..dfbc21b 100644 --- a/java/base/src/main/java/base/server/channel/TcpClient.java +++ b/java/base/src/main/java/base/server/channel/TcpClient.java @@ -10,9 +10,9 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.Set; +import base.Sender; import base.exception.worker.ActivateException; import base.exception.worker.DeactivateException; -import base.sender.Sender; import base.work.Listen; import base.work.Work; import base.worker.Worker; diff --git a/java/base/src/main/java/base/server/channel/TcpServer.java b/java/base/src/main/java/base/server/channel/TcpServer.java index 1fa46ef..6a8f0b2 100644 --- a/java/base/src/main/java/base/server/channel/TcpServer.java +++ b/java/base/src/main/java/base/server/channel/TcpServer.java @@ -13,9 +13,9 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.Set; +import base.Sender; import base.exception.worker.ActivateException; import base.exception.worker.DeactivateException; -import base.sender.Sender; import base.server.channel.TcpServerClient; import base.work.Work; diff --git a/java/base/src/main/java/base/server/channel/TcpServerClient.java b/java/base/src/main/java/base/server/channel/TcpServerClient.java index f3cf4ec..5c7aa79 100644 --- a/java/base/src/main/java/base/server/channel/TcpServerClient.java +++ b/java/base/src/main/java/base/server/channel/TcpServerClient.java @@ -4,7 +4,7 @@ import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; -import base.sender.Sender; +import base.Sender; import base.work.Listen; public class TcpServerClient extends Listen implements Sender { diff --git a/java/base/src/main/java/base/server/datagram/UdpDuplexClient.java b/java/base/src/main/java/base/server/datagram/UdpDuplexClient.java new file mode 100644 index 0000000..26f27b5 --- /dev/null +++ b/java/base/src/main/java/base/server/datagram/UdpDuplexClient.java @@ -0,0 +1,22 @@ +package base.server.datagram; + +import java.io.IOException; + +import base.Sender; + +public class UdpDuplexClient extends UdpMulticastClient implements Sender { + + public UdpDuplexClient(int port) { + super(port); + } + + public void send(byte[] buffer) throws IOException { + // TODO Auto-generated method stub + + } + + protected void input(byte[] buffer) { + // TODO Auto-generated method stub + + } +} diff --git a/java/base/src/main/java/base/server/datagram/UdpDuplexServer.java b/java/base/src/main/java/base/server/datagram/UdpDuplexServer.java new file mode 100644 index 0000000..bfa1267 --- /dev/null +++ b/java/base/src/main/java/base/server/datagram/UdpDuplexServer.java @@ -0,0 +1,9 @@ +package base.server.datagram; + +public class UdpDuplexServer extends UdpMulticastServer { + + public UdpDuplexServer(int port) { + super(port); + } + +} diff --git a/java/base/src/main/java/base/server/datagram/UdpMulticastServer.java b/java/base/src/main/java/base/server/datagram/UdpMulticastServer.java index 750c427..2510507 100644 --- a/java/base/src/main/java/base/server/datagram/UdpMulticastServer.java +++ b/java/base/src/main/java/base/server/datagram/UdpMulticastServer.java @@ -5,9 +5,9 @@ import java.net.DatagramPacket; import java.net.InetAddress; import java.net.MulticastSocket; +import base.Sender; import base.exception.worker.ActivateException; import base.exception.worker.DeactivateException; -import base.sender.Sender; import base.work.Listen; import base.worker.Worker; diff --git a/java/base/src/main/java/base/sender/UdpSender.java b/java/base/src/main/java/base/server/datagram/UdpSender.java similarity index 94% rename from java/base/src/main/java/base/sender/UdpSender.java rename to java/base/src/main/java/base/server/datagram/UdpSender.java index 0f5babf..e3e6118 100644 --- a/java/base/src/main/java/base/sender/UdpSender.java +++ b/java/base/src/main/java/base/server/datagram/UdpSender.java @@ -1,4 +1,4 @@ -package base.sender; +package base.server.datagram; import java.io.IOException; import java.net.DatagramPacket; @@ -10,6 +10,8 @@ import java.net.UnknownHostException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import base.Sender; + public class UdpSender implements Sender { protected static final String HOST = "localhost"; protected Logger logger = LoggerFactory.getLogger(getClass()); @@ -29,21 +31,6 @@ public class UdpSender implements Sender { this.port = port; } - protected boolean setup() { - - return true; - } - - public void send(byte[] buffer) { - try { - setup(); - DatagramPacket datagramPacket = new DatagramPacket(buffer, buffer.length, inetAddress, port); - datagramSocket.send(datagramPacket); - } catch (IOException e) { - logger.error("Failed to send buffer", e); - } - } - public void start() { if (datagramSocket == null) { try { @@ -63,4 +50,14 @@ public class UdpSender implements Sender { public void exit() { stop(); } + + public void send(byte[] buffer) { + try { + DatagramPacket datagramPacket = new DatagramPacket(buffer, buffer.length, inetAddress, port); + datagramSocket.send(datagramPacket); + } catch (IOException e) { + logger.error("Failed to send buffer", e); + } + } + } diff --git a/java/base/src/main/java/base/server/forwarder/TcpServerChannelForwarder.java b/java/base/src/main/java/base/server/forwarder/TcpChannelServerForwarder.java similarity index 74% rename from java/base/src/main/java/base/server/forwarder/TcpServerChannelForwarder.java rename to java/base/src/main/java/base/server/forwarder/TcpChannelServerForwarder.java index 1296081..a21c08b 100644 --- a/java/base/src/main/java/base/server/forwarder/TcpServerChannelForwarder.java +++ b/java/base/src/main/java/base/server/forwarder/TcpChannelServerForwarder.java @@ -2,15 +2,15 @@ package base.server.forwarder; import java.util.ArrayList; -import base.receiver.Forwarder; -import base.receiver.Receiver; +import base.Duplex; +import base.Receiver; import base.server.channel.TcpServer; import base.server.channel.TcpServerClient; -public class TcpServerChannelForwarder extends TcpServer implements Forwarder { +public class TcpChannelServerForwarder extends TcpServer implements Duplex { protected ArrayList receiverList; - public TcpServerChannelForwarder(int port) { + public TcpChannelServerForwarder(int port) { super(port); receiverList = new ArrayList(); } diff --git a/java/base/src/main/java/base/server/forwarder/TcpClientChannelForwarder.java b/java/base/src/main/java/base/server/forwarder/TcpClientChannelForwarder.java index d57f8a4..eb1b54e 100644 --- a/java/base/src/main/java/base/server/forwarder/TcpClientChannelForwarder.java +++ b/java/base/src/main/java/base/server/forwarder/TcpClientChannelForwarder.java @@ -2,16 +2,16 @@ package base.server.forwarder; import java.util.ArrayList; -import base.receiver.Forwarder; -import base.receiver.Receiver; +import base.Duplex; +import base.Receiver; import base.server.socket.TcpClient; import base.server.socket.TcpServerClient; -public class TcpClientChannelForwarder extends TcpClient implements Forwarder { +public class TcpClientChannelForwarder extends TcpClient implements Duplex { protected ArrayList receiverList; - public TcpClientChannelForwarder(int port) { - super(port); + public TcpClientChannelForwarder(String host, int port) { + super(host, port); receiverList = new ArrayList(); } diff --git a/java/base/src/main/java/base/server/forwarder/TcpClientSocketForwarder.java b/java/base/src/main/java/base/server/forwarder/TcpClientSocketForwarder.java index a34bdd2..2a60ca0 100644 --- a/java/base/src/main/java/base/server/forwarder/TcpClientSocketForwarder.java +++ b/java/base/src/main/java/base/server/forwarder/TcpClientSocketForwarder.java @@ -2,16 +2,16 @@ package base.server.forwarder; import java.util.ArrayList; -import base.receiver.Forwarder; -import base.receiver.Receiver; +import base.Duplex; +import base.Receiver; import base.server.channel.TcpClient; import base.server.channel.TcpServerClient; -public class TcpClientSocketForwarder extends TcpClient implements Forwarder { +public class TcpClientSocketForwarder extends TcpClient implements Duplex { protected ArrayList receiverList; - public TcpClientSocketForwarder(int port) { - super(port); + public TcpClientSocketForwarder(String host, int port) { + super(host, port); receiverList = new ArrayList(); } diff --git a/java/base/src/main/java/base/server/forwarder/TcpServerSocketForwarder.java b/java/base/src/main/java/base/server/forwarder/TcpSocketServerForwarder.java similarity index 74% rename from java/base/src/main/java/base/server/forwarder/TcpServerSocketForwarder.java rename to java/base/src/main/java/base/server/forwarder/TcpSocketServerForwarder.java index 2bfc7d5..79e8e3b 100644 --- a/java/base/src/main/java/base/server/forwarder/TcpServerSocketForwarder.java +++ b/java/base/src/main/java/base/server/forwarder/TcpSocketServerForwarder.java @@ -2,15 +2,15 @@ package base.server.forwarder; import java.util.ArrayList; -import base.receiver.Forwarder; -import base.receiver.Receiver; +import base.Duplex; +import base.Receiver; import base.server.socket.TcpServer; import base.server.socket.TcpServerClient; -public class TcpServerSocketForwarder extends TcpServer implements Forwarder { +public class TcpSocketServerForwarder extends TcpServer implements Duplex { protected ArrayList receiverList; - public TcpServerSocketForwarder(int port) { + public TcpSocketServerForwarder(int port) { super(port); receiverList = new ArrayList(); } diff --git a/java/base/src/main/java/base/server/forwarder/UdpDuplexClientForwarder.java b/java/base/src/main/java/base/server/forwarder/UdpDuplexClientForwarder.java new file mode 100644 index 0000000..81d80ec --- /dev/null +++ b/java/base/src/main/java/base/server/forwarder/UdpDuplexClientForwarder.java @@ -0,0 +1,30 @@ +package base.server.forwarder; + +import java.util.ArrayList; + +import base.Duplex; +import base.Receiver; +import base.server.datagram.UdpDuplexClient; + +public class UdpDuplexClientForwarder extends UdpDuplexClient implements Duplex { + protected ArrayList receiverList; + + public UdpDuplexClientForwarder(String host, int port) { + super(port); + receiverList = new ArrayList(); + } + + public void register(Receiver receiver) { + receiverList.add(receiver); + } + + public void remove(Receiver receiver) { + receiverList.remove(receiver); + } + + public void input(byte[] buffer) { + for (Receiver receiver: receiverList) { + receiver.receive(buffer); + } + } +} diff --git a/java/base/src/main/java/base/server/forwarder/UdpDuplexServerForwarder.java b/java/base/src/main/java/base/server/forwarder/UdpDuplexServerForwarder.java new file mode 100644 index 0000000..24f7c13 --- /dev/null +++ b/java/base/src/main/java/base/server/forwarder/UdpDuplexServerForwarder.java @@ -0,0 +1,30 @@ +package base.server.forwarder; + +import java.util.ArrayList; + +import base.Duplex; +import base.Receiver; +import base.server.datagram.UdpDuplexServer; + +public class UdpDuplexServerForwarder extends UdpDuplexServer implements Duplex { + protected ArrayList receiverList; + + public UdpDuplexServerForwarder(int port) { + super(port); + receiverList = new ArrayList(); + } + + public void register(Receiver receiver) { + receiverList.add(receiver); + } + + public void remove(Receiver receiver) { + receiverList.remove(receiver); + } + + public void input(byte[] buffer) { + for (Receiver receiver: receiverList) { + receiver.receive(buffer); + } + } +} diff --git a/java/base/src/main/java/base/server/forwarder/UdpServerForwarder.java b/java/base/src/main/java/base/server/forwarder/UdpServerForwarder.java index 3946d4b..fa8e63c 100644 --- a/java/base/src/main/java/base/server/forwarder/UdpServerForwarder.java +++ b/java/base/src/main/java/base/server/forwarder/UdpServerForwarder.java @@ -2,8 +2,8 @@ package base.server.forwarder; import java.util.ArrayList; -import base.receiver.Forwarder; -import base.receiver.Receiver; +import base.Forwarder; +import base.Receiver; import base.server.datagram.UdpServer; public class UdpServerForwarder extends UdpServer implements Forwarder { diff --git a/java/base/src/main/java/base/server/forwarder/AbstractReceiver.java b/java/base/src/main/java/base/server/receiver/AbstractReceiver.java similarity index 85% rename from java/base/src/main/java/base/server/forwarder/AbstractReceiver.java rename to java/base/src/main/java/base/server/receiver/AbstractReceiver.java index 83dc965..4ae2748 100644 --- a/java/base/src/main/java/base/server/forwarder/AbstractReceiver.java +++ b/java/base/src/main/java/base/server/receiver/AbstractReceiver.java @@ -1,17 +1,17 @@ -package base.server.forwarder; +package base.server.receiver; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import base.Control; -import base.receiver.Forwarder; -import base.receiver.Receiver; +import base.Forwarder; +import base.Receiver; public abstract class AbstractReceiver implements Receiver, Control { protected Logger logger = LoggerFactory.getLogger(getClass()); protected Forwarder forwarder; - + public AbstractReceiver(Forwarder forwarder) { this.forwarder = forwarder; forwarder.register(this); diff --git a/java/base/src/main/java/base/server/socket/AbstractTcpClient.java b/java/base/src/main/java/base/server/socket/AbstractTcpClient.java index a246508..e7168ef 100644 --- a/java/base/src/main/java/base/server/socket/AbstractTcpClient.java +++ b/java/base/src/main/java/base/server/socket/AbstractTcpClient.java @@ -5,8 +5,8 @@ import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; +import base.Sender; import base.exception.worker.DeactivateException; -import base.sender.Sender; import base.work.Work; public abstract class AbstractTcpClient extends Work implements Sender { diff --git a/java/base/src/main/java/base/server/socket/TcpClient.java b/java/base/src/main/java/base/server/socket/TcpClient.java index 8db979a..265bcfb 100644 --- a/java/base/src/main/java/base/server/socket/TcpClient.java +++ b/java/base/src/main/java/base/server/socket/TcpClient.java @@ -4,8 +4,8 @@ import java.io.IOException; import java.net.Socket; import java.net.UnknownHostException; +import base.Sender; import base.exception.worker.ActivateException; -import base.sender.Sender; public class TcpClient extends AbstractTcpClient implements Sender { protected static final String HOST = "localhost"; diff --git a/java/base/src/main/java/base/server/socket/TcpServer.java b/java/base/src/main/java/base/server/socket/TcpServer.java index 9a562cb..f023c4f 100644 --- a/java/base/src/main/java/base/server/socket/TcpServer.java +++ b/java/base/src/main/java/base/server/socket/TcpServer.java @@ -6,9 +6,9 @@ import java.net.ServerSocket; import java.net.Socket; import java.util.ArrayList; +import base.Sender; import base.exception.worker.ActivateException; import base.exception.worker.DeactivateException; -import base.sender.Sender; import base.work.Work; public class TcpServer extends Work implements Sender { diff --git a/java/base/src/main/java/base/work/Work.java b/java/base/src/main/java/base/work/Work.java index 5e962a9..cf3d4ea 100644 --- a/java/base/src/main/java/base/work/Work.java +++ b/java/base/src/main/java/base/work/Work.java @@ -3,6 +3,7 @@ package base.work; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import base.Control; import base.exception.worker.ActivateException; import base.exception.worker.DeactivateException; import base.worker.DirectWorker; @@ -11,7 +12,7 @@ import base.worker.Worker; import base.worker.pool.PooledWorker; import base.worker.pool.WorkerPool; -public abstract class Work { +public abstract class Work implements Control { protected static final Worker.Type WORKER_TYPE = Worker.Type.BACKGROUND; protected Logger logger = LoggerFactory.getLogger(getClass()); diff --git a/java/base/src/test/java/junit/TestUdpUnicastCommunication.java b/java/base/src/test/java/junit/TestUdpUnicastCommunication.java index b949b22..136ef47 100644 --- a/java/base/src/test/java/junit/TestUdpUnicastCommunication.java +++ b/java/base/src/test/java/junit/TestUdpUnicastCommunication.java @@ -7,7 +7,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; -import base.sender.UdpSender; +import base.server.datagram.UdpSender; import base.server.datagram.UdpServer; public class TestUdpUnicastCommunication {