Mercurial > hg > FederatedLinda
view src/fdl/old/test/transfer/ProtocolEngine.java @ 114:3b877c9a44f5
gather old packages
author | kazz |
---|---|
date | Mon, 11 Oct 2010 14:29:37 +0900 |
parents | src/fdl/test/transfer/ProtocolEngine.java@865bf7f1bb8d |
children |
line wrap: on
line source
package fdl.old.test.transfer; import java.io.IOException; import java.nio.ByteBuffer; import fdl.FederatedLinda; import fdl.PSXLinda; import fdl.PSXReply; public class ProtocolEngine extends Thread{ private PSXLinda psx; private String name; FederatedLinda fdl1; String host = "127.0.0.1"; int port1 = 10001; int port2 = 10002; private int id = 10; private PSXLinda psx1; private boolean running = true; private ByteBuffer data2 = ByteBuffer.allocate(10); public ProtocolEngine(String string, int port1, int port2) { this.name = string; this.port1 = port1; this.port2 = port2; } public void run(){ fdl1 = FederatedLinda.init(); try { System.out.println(name); psx = fdl1.open(host,port1); System.out.println("Connect Host1"); psx1 = fdl1.open(host,port2); System.out.println("Connect Host2"); // Host1にデータを送信する。 testSend(psx); // psxにデータを用意 transfer(psx,psx1); } catch (IOException e) { e.printStackTrace(); } } private void testSend(PSXLinda psx2) throws IOException { ByteBuffer send = ByteBuffer.allocate(10); send.putInt(12); send.flip(); psx2.out(id, send); psx2.sync(1); } private void transfer(PSXLinda getpsx, PSXLinda sendpsx) throws IOException { PSXReply in = getpsx.in(id); while (running) { System.out.println(in.ready()); if(in.ready()){ //psx1にデータを書き出し data2 = in.getData(); sendpsx.out(id,data2); //runningフラグをfalseする running = false; fdl1.sync(0); break; } fdl1.sync(); } } }