changeset 267:fac206b7849c

create Send/Receive Error class
author sugi
date Sat, 17 Aug 2013 18:55:19 +0900
parents c0712e0b0a24
children 709936c00c89
files src/alice/daemon/Connection.java src/alice/topology/manager/TopologyFinish.java src/alice/topology/manager/reconnection/CheckABSName.java src/alice/topology/manager/reconnection/ReceiveConnectionError.java src/alice/topology/manager/reconnection/SendError.java src/alice/topology/node/IncomingAbstractHostName.java
diffstat 6 files changed, 62 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/alice/daemon/Connection.java	Fri Aug 16 19:05:43 2013 +0900
+++ b/src/alice/daemon/Connection.java	Sat Aug 17 18:55:19 2013 +0900
@@ -7,6 +7,8 @@
 
 import alice.codesegment.SingletonMessage;
 import alice.datasegment.Command;
+import alice.topology.HostMessage;
+import alice.topology.manager.reconnection.SendError;
 
 public class Connection {
 
@@ -41,7 +43,7 @@
 				socket.getChannel().write(buffer);
 			}
 		} catch (IOException e) {
-			
+			new SendError(new HostMessage(socket.getInetAddress().getHostName(), socket.getPort())).execute();
 		}
 	}
 
--- a/src/alice/topology/manager/TopologyFinish.java	Fri Aug 16 19:05:43 2013 +0900
+++ b/src/alice/topology/manager/TopologyFinish.java	Sat Aug 17 18:55:19 2013 +0900
@@ -3,12 +3,13 @@
 import alice.codesegment.CodeSegment;
 import alice.datasegment.CommandType;
 import alice.datasegment.Receiver;
+import alice.topology.manager.reconnection.ReceiveConnectionError;
 
 public class TopologyFinish extends CodeSegment {
 	public Receiver finish = ids.create(CommandType.TAKE);
 	@Override
 	public void run() {
-		System.exit(0);
+		new ReceiveConnectionError();
 	}
 
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/alice/topology/manager/reconnection/CheckABSName.java	Sat Aug 17 18:55:19 2013 +0900
@@ -0,0 +1,5 @@
+package alice.topology.manager.reconnection;
+
+public class CheckABSName {
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/alice/topology/manager/reconnection/ReceiveConnectionError.java	Sat Aug 17 18:55:19 2013 +0900
@@ -0,0 +1,33 @@
+package alice.topology.manager.reconnection;
+
+import java.io.IOException;
+import java.net.Socket;
+import java.net.UnknownHostException;
+
+import alice.codesegment.CodeSegment;
+import alice.datasegment.CommandType;
+import alice.datasegment.Receiver;
+import alice.topology.HostMessage;
+
+public class ReceiveConnectionError extends CodeSegment {
+	public Receiver reportInfo = ids.create(CommandType.TAKE);
+	
+	public ReceiveConnectionError(){
+		reportInfo.setKey("_ERROR");
+	}
+	
+	@Override
+	public void run() {		
+		HostMessage message = reportInfo.asClass(HostMessage.class);
+		try {
+			Socket socket = new Socket(message.name, message.port);
+			socket.close();
+		} catch (UnknownHostException e) {
+			e.printStackTrace();
+		} catch (IOException e) {
+			new CheckABSName();
+		}
+		new ReceiveConnectionError();
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/alice/topology/manager/reconnection/SendError.java	Sat Aug 17 18:55:19 2013 +0900
@@ -0,0 +1,18 @@
+package alice.topology.manager.reconnection;
+
+import alice.codesegment.CodeSegment;
+import alice.topology.HostMessage;
+
+public class SendError extends CodeSegment{
+	private HostMessage message;
+	
+	public SendError(HostMessage mes){
+		message = mes;
+	}
+	
+	@Override
+	public void run() {
+		ods.put("manager", "_ERROR", message);
+	}
+
+}
--- a/src/alice/topology/node/IncomingAbstractHostName.java	Fri Aug 16 19:05:43 2013 +0900
+++ b/src/alice/topology/node/IncomingAbstractHostName.java	Sat Aug 17 18:55:19 2013 +0900
@@ -20,7 +20,7 @@
 		IncomingConnectionInfo cs = new IncomingConnectionInfo(absName, 0);
 		cs.hostInfo.setKey("manager", absName);
 		host.setABSName(absName);
-		ods.put("manager","_ABS", host);
+		ods.put("manager","_ABS_IP", host);
 	}
 
 }