private ConcurrentHashMap<SocketAddress, ClientPanel> clients;
public MemoryMonitor() throws IOException {
NioDatagramAcceptor acceptor = new NioDatagramAcceptor();
acceptor.setHandler(new MemoryMonitorHandler(this));
DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();
chain.addLast("logger", new LoggingFilter());
DatagramSessionConfig dcfg = acceptor.getSessionConfig();
dcfg.setReuseAddress(true);
frame = new JFrame("Memory monitor");
tabbedPane = new JTabbedPane();
tabbedPane.add("Welcome", createWelcomePanel());
frame.add(tabbedPane, BorderLayout.CENTER);
clients = new ConcurrentHashMap<SocketAddress, ClientPanel>();
frame.pack();
frame.setLocation(300, 300);
frame.setVisible(true);
acceptor.bind(new InetSocketAddress(PORT));
System.out.println("UDPServer listening on port " + PORT);
}