changeset 55:865bf7f1bb8d

metaTranse two
author axmo
date Tue, 20 Jan 2009 20:54:08 +0900
parents 629b6cfbd37f
children 0143623aa465
files .classpath .project build.xml scripts-java/pexpect.pyc src/fdl/MetaLinda.java src/fdl/test/metaTransfer/FDLServWithSend.java src/fdl/test/metaTransfer/Ring/FDLServWithSend.java src/fdl/test/metaTransfer/Ring/MetaProtocolEngine.java src/fdl/test/metaTransfer/Ring/Server.java src/fdl/test/metaTransfer/Ring/TestTransfer.java src/fdl/test/metaTransfer/Ring/TestTransferRing.java src/fdl/test/transfer/ProtocolEngine.java tools/python-PE/graffleConfig/FederatedLinda.pyc tools/python-PE/graffleConfig/PListReader.pyc tools/python-PE/graffleConfig/W3CDate.pyc
diffstat 15 files changed, 73 insertions(+), 51 deletions(-) [+]
line wrap: on
line diff
--- a/.classpath	Mon Jan 19 17:49:14 2009 +0900
+++ b/.classpath	Tue Jan 20 20:54:08 2009 +0900
@@ -2,5 +2,6 @@
 <classpath>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
--- a/.project	Mon Jan 19 17:49:14 2009 +0900
+++ b/.project	Tue Jan 20 20:54:08 2009 +0900
@@ -1,11 +1,16 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>FederatedLinda-Java</name>
+	<name>FederatedLinda</name>
 	<comment></comment>
 	<projects>
 	</projects>
 	<buildSpec>
 		<buildCommand>
+			<name>org.python.pydev.PyDevBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
 			<name>org.eclipse.jdt.core.javabuilder</name>
 			<arguments>
 			</arguments>
@@ -13,5 +18,6 @@
 	</buildSpec>
 	<natures>
 		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.python.pydev.pythonNature</nature>
 	</natures>
 </projectDescription>
--- a/build.xml	Mon Jan 19 17:49:14 2009 +0900
+++ b/build.xml	Tue Jan 20 20:54:08 2009 +0900
@@ -15,8 +15,6 @@
   <!-- jarファイル名 -->
   <property name="jar" value="FedLinda.jar"/>
 
-
-
   <!-- ****ターゲット**** -->
   <!-- jarファイルの作成 -->
   <target name="jar" depends="compile">
Binary file scripts-java/pexpect.pyc has changed
--- a/src/fdl/MetaLinda.java	Mon Jan 19 17:49:14 2009 +0900
+++ b/src/fdl/MetaLinda.java	Tue Jan 20 20:54:08 2009 +0900
@@ -45,7 +45,9 @@
 	}
 
 	public PSXReply in(int id) {
-		return null;
+		MetaReply r = new MetaReply(PSX.PSX_IN,id,ts);
+		addReply(r);
+		return r;
 	}
 
 	public void in(int id, PSXCallback callback) {
--- a/src/fdl/test/metaTransfer/FDLServWithSend.java	Mon Jan 19 17:49:14 2009 +0900
+++ b/src/fdl/test/metaTransfer/FDLServWithSend.java	Tue Jan 20 20:54:08 2009 +0900
@@ -3,7 +3,8 @@
 import java.io.IOException;
 
 import fdl.FDLindaServ;
-import fdl.MetaLinda;
+//import fdl.MetaLinda;
+
 
 public class FDLServWithSend extends FDLindaServ {
 	int port1;
@@ -14,8 +15,8 @@
 	
 	@Override public void mainLoop() {
 		System.out.println("change mainloop");
-		MetaLinda ml = new MetaLinda(tupleSpace, this);
-		mpe = new MetaProtocolEngine(ml,"MetaEngine", port1);
+//		MetaLinda ml = new MetaLinda(tupleSpace, this);
+//		mpe = new MetaProtocolEngine(ml,"MetaEngine", port1);
 		mpe.mainLoop();
 	}
 
--- a/src/fdl/test/metaTransfer/Ring/FDLServWithSend.java	Mon Jan 19 17:49:14 2009 +0900
+++ b/src/fdl/test/metaTransfer/Ring/FDLServWithSend.java	Tue Jan 20 20:54:08 2009 +0900
@@ -15,7 +15,7 @@
 	@Override public void mainLoop() {
 		System.out.println("change mainloop");
 		MetaLinda ml = new MetaLinda(tupleSpace, this);
-		mpe = new MetaProtocolEngine(ml,"MetaEngine", port1);
+		mpe = new MetaProtocolEngine(ml,"MetaEngine", port1, port);
 		mpe.mainLoop();
 	}
 
--- a/src/fdl/test/metaTransfer/Ring/MetaProtocolEngine.java	Mon Jan 19 17:49:14 2009 +0900
+++ b/src/fdl/test/metaTransfer/Ring/MetaProtocolEngine.java	Tue Jan 20 20:54:08 2009 +0900
@@ -13,7 +13,7 @@
 import fdl.PSXReply;
 
 public class MetaProtocolEngine implements MetaEngine {
-	private int id = 10;
+	int id = 10;
 	private boolean running = true;
 	
 	private PSXLinda psx;
@@ -22,14 +22,16 @@
 	String host = "127.0.0.1";
 	int port1;
 	private PSXLinda psx1;
-	private ByteBuffer data2 = ByteBuffer.allocate(10);
+	private ByteBuffer data = ByteBuffer.allocate(10);
 	private int count = 1;
+	int port;
 
 	
-	public MetaProtocolEngine(MetaLinda ml, String string, int port1) {
+	public MetaProtocolEngine(MetaLinda ml, String string, int port1, int port) {
 		this.name = string;
 		this.port1 = port1;
 		this.fdl1 = ml;
+		this.port = port;
 	}
 
 	public void mainLoop(){
@@ -38,7 +40,8 @@
 		while(connect){
 		try {
 			initConnect();
-			transfer();
+			sendData();
+			transfer(psx, psx1);
 			connect = false;
 		} catch (IOException e) {
 			try {
@@ -49,49 +52,48 @@
 		}
 	}
 
-	private void initConnect(){
+	private void initConnect() throws IOException{
 		System.out.println(name);
-		boolean connectpsx = true;
-		while(connectpsx){
-		try {
-			psx = fdl1.open(host,port1);
-			connectpsx = false;
-		} catch (IOException e) {
-			try {
-				Thread.sleep(40);
-			} catch (InterruptedException e1) {
-				e1.printStackTrace();
-			}
-		}
-		}
+		//自分
+		psx = fdl1;
+		//相手
+		psx1 = fdl1.open(host,port1);
 		System.out.println("Connect "+port1);
-		psx1 = fdl1;
 	}
 
-	private void transfer() throws IOException {
-		PSXReply in = psx.in(id);
+	private void sendData() throws IOException{
+		boolean connectSend = true;
+		ByteBuffer send = ByteBuffer.allocate(1024);
+		send.putInt(12);
+		send.flip();
+		while(connectSend){
+		psx.out(id, send);
+		fdl1.sync(1);
+		System.out.println("Send Data 10001");
+		connectSend = false;
+		}
+	}
+	
+	private void transfer(PSXLinda getpsx, PSXLinda sendpsx) throws IOException {
+		PSXReply in = getpsx.in(id);
 		System.out.println("PSXReply "+port1);
 		while (running) {
 			if(in.ready()){
-				data2 = in.getData();
-				int i = data2.getInt();
-				data2.rewind();
+				data = in.getData();
+				int i = data.getInt();
+				data.rewind();
 				//outしたbytebufferの変更をこれ以降やっちゃいけない
-				psx1.out(id,data2);
+				sendpsx.out(id,data);
 				
 				System.out.println("IntData0 "+port1 +i);
-				fdl1.sync(1);
-				if (count++>3) {
-					running = false;
-					break;
-				}
+				fdl1.sync();
+				running = false;
 				System.out.println("IntData1 "+port1 +i);
+				break;
 			}
-			fdl1.sync(1);
 		}
 		assertEquals(4,count);
 	}
 
-	
 }
 
--- a/src/fdl/test/metaTransfer/Ring/Server.java	Mon Jan 19 17:49:14 2009 +0900
+++ b/src/fdl/test/metaTransfer/Ring/Server.java	Tue Jan 20 20:54:08 2009 +0900
@@ -2,30 +2,40 @@
 
 import java.io.IOException;
 
+import fdl.FDLindaServ;
+
 //import fdl.FDLindaServ;
 
 public class Server extends Thread {
 	int port1;
 	int port2;
+	int set;
 	private String name;
 	
-	public Server(String string, int i, int t) {
+	public Server(String string, int i, int t, int s) {
 		port1 = i;
 		port2 = t;
+		set = s;
 		name = string;
 	}
 
 	public void run(){
-//		String[] args = {"-p",Integer.toString(port1)};
+		String[] args = {"-p",Integer.toString(port1)};
 		System.out.println(name);
-//		FDLindaServ.main(args);
+		switch (set){
+		case 0:
 		try {
 			FDLServWithSend send = new FDLServWithSend(port1,port2);
 			send.mainLoop();
 		} catch (IOException e) {
 			e.printStackTrace();
-		};
+		}
+		break;
 		
+		case 1:
+		FDLindaServ.main(args);
+		break;
+		}
 	}
 
 }
\ No newline at end of file
--- a/src/fdl/test/metaTransfer/Ring/TestTransfer.java	Mon Jan 19 17:49:14 2009 +0900
+++ b/src/fdl/test/metaTransfer/Ring/TestTransfer.java	Tue Jan 20 20:54:08 2009 +0900
@@ -12,16 +12,15 @@
 		int port1 = 10001;
 		int port2 = 10002;
 		
-		Server server1 = new Server("Server1",port1, port2);
+		Server server1 = new Server("Server1",port1, port2, 0);
 		server1.start();
 
-		Server server2 = new Server("Server2",port2, port1);
+		Server server2 = new Server("Server2",port2, port1, 1);
 		server2.start();
 		
 		try {
 			server2.join();
 		} catch (InterruptedException e) {
-			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
 		
--- a/src/fdl/test/metaTransfer/Ring/TestTransferRing.java	Mon Jan 19 17:49:14 2009 +0900
+++ b/src/fdl/test/metaTransfer/Ring/TestTransferRing.java	Tue Jan 20 20:54:08 2009 +0900
@@ -15,10 +15,12 @@
 		servers = new Server[serverCount];
 		
 		for (int i = 0; i < serverCount; i++) {
-			servers[i] = new Server("Server"+(i+1),port+i,netporot(port+i));
+			servers[i] = new Server("Server"+(i+1),port+i,netporot(port+i),0);
 			servers[i].start();
 		}
 		
+		TestSend send = new TestSend();
+		send.start();
 		
 
 		assertEquals(1,1);
@@ -28,6 +30,7 @@
 		if(i >= startPort+serverCount) {
 			return startPort;
 		}
+		
 		return i;
 	}
 }
--- a/src/fdl/test/transfer/ProtocolEngine.java	Mon Jan 19 17:49:14 2009 +0900
+++ b/src/fdl/test/transfer/ProtocolEngine.java	Tue Jan 20 20:54:08 2009 +0900
@@ -53,14 +53,14 @@
 	}
 	
 
-	private void transfer(PSXLinda psx2, PSXLinda psx12) throws IOException {
-		PSXReply in = psx2.in(id);
+	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();
-				psx12.out(id,data2);
+				sendpsx.out(id,data2);
 				//runningフラグをfalseする
 				running = false;
 				fdl1.sync(0);
Binary file tools/python-PE/graffleConfig/FederatedLinda.pyc has changed
Binary file tools/python-PE/graffleConfig/PListReader.pyc has changed
Binary file tools/python-PE/graffleConfig/W3CDate.pyc has changed