package libcsp.csp.app.clientserver; import javax.realtime.PeriodicParameters; import javax.realtime.PriorityParameters; import javax.safetycritical.PeriodicEventHandler; import javax.safetycritical.StorageParameters; import javax.safetycritical.annotate.Level; import javax.safetycritical.annotate.SCJAllowed; import libcsp.csp.CSPManager; import libcsp.csp.Connection; import libcsp.csp.ImmortalEntry; import libcsp.csp.Packet; public class ClientHandler extends PeriodicEventHandler { private CSPManager cspManager; private char data; public ClientHandler(PriorityParameters priority, PeriodicParameters parameters, StorageParameters scp, long scopeSize, CSPManager manager, char data) { super(priority, parameters, scp, scopeSize); this.cspManager = manager; this.data = data; } @Override @SCJAllowed(Level.SUPPORT) public void handleAsyncEvent() { Connection conn = cspManager.createConnection(ImmortalEntry.NODE_ADDRESS, 12, ImmortalEntry.TIMEOUT_NONE, null); if (conn != null) { Packet p = cspManager.createPacket(); p.setContent((int) data); conn.send(p); Packet response = conn.read(ImmortalEntry.TIMEOUT_NONE); System.out.println("Response: " + (char) response.readContent()); conn.close(); } } }