comparison src/main/java/christie/topology/node/TopologyNode.java @ 61:20d4c0cce914

refactor Topology Node
author akahori
date Tue, 28 Aug 2018 18:56:45 +0900
parents 9922e6decbe8
children 4e2453333508
comparison
equal deleted inserted replaced
60:cfd79a71f9cd 61:20d4c0cce914
1 package christie.topology.node; 1 package christie.topology.node;
2 2
3 import christie.annotation.Peek;
3 import christie.codegear.CodeGear; 4 import christie.codegear.CodeGear;
4 import christie.codegear.CodeGearManager; 5 import christie.codegear.CodeGearManager;
5 import christie.topology.HostMessage; 6 import christie.topology.HostMessage;
6 import christie.topology.manager.IncomingHosts; 7 import christie.topology.manager.IncomingHosts;
7 8
9 import java.net.UnknownHostException; 10 import java.net.UnknownHostException;
10 import java.util.ArrayList; 11 import java.util.ArrayList;
11 12
12 public class TopologyNode extends CodeGear{ 13 public class TopologyNode extends CodeGear{
13 14
14 private final String manager; 15 @Peek
15 private TopologyNodeConfig topologyNodeConfig; 16 TopologyNodeConfig topologyNodeConfig;
16 private CodeGear startCS;
17 17
18 public TopologyNode(TopologyNodeConfig conf, CodeGear startCS) { 18 public TopologyNode() {
19 this.topologyNodeConfig = conf;
20 this.startCS = startCS;
21 this.manager = conf.getManagerKey();
22 } 19 }
23 20
24 @Override 21 @Override
25 protected void run(CodeGearManager cgm) { 22 protected void run(CodeGearManager cgm) {
26 cgm.createRemoteDGM(manager, 23
24 cgm.createRemoteDGM(topologyNodeConfig.getManagerKey(),
27 topologyNodeConfig.getManagerHostName(), 25 topologyNodeConfig.getManagerHostName(),
28 topologyNodeConfig.getManagerPort()); 26 topologyNodeConfig.getManagerPort());
27
28
29 String localHostName = null; 29 String localHostName = null;
30 try { 30 try {
31 localHostName = InetAddress.getLocalHost().getHostAddress(); 31 localHostName = InetAddress.getLocalHost().getHostAddress();
32 } catch (UnknownHostException e) { 32 } catch (UnknownHostException e) {
33 e.printStackTrace(); 33 e.printStackTrace();
34 } 34 }
35 cgm.setup(new SaveCookie()); 35
36
36 if (cgm.localPort == 0) { 37 if (cgm.localPort == 0) {
37 // local test mode 38 // local test mode
38 localHostName = topologyNodeConfig.getLocalKey(); 39 localHostName = topologyNodeConfig.getLocalKey();
40
39 } 41 }
40 getLocalDGM().put("config" , topologyNodeConfig); 42 getLocalDGM().put("config" , topologyNodeConfig);
41 43
42 HostMessage host = new HostMessage(localHostName, cgm.localPort); 44 HostMessage host = new HostMessage(localHostName, cgm.localPort);
43 host.cookie = topologyNodeConfig.cookie; 45 host.cookie = topologyNodeConfig.cookie;
44 getDGM(manager).put("hostMessage", host);
45 46
47 getDGM(topologyNodeConfig.getManagerKey()).put("hostMessage", host);
46 getLocalDGM().put("_CLIST", new ArrayList<String>()); 48 getLocalDGM().put("_CLIST", new ArrayList<String>());
47 //getDGM(local).put("_CLIST", new ArrayList<String>());
48
49 cgm.setup(new IncomingAbstractHostName(topologyNodeConfig));
50
51 cgm.setup(new IncomingReverseKey());
52
53 getLocalDGM().put("reverseCount", 0); 49 getLocalDGM().put("reverseCount", 0);
54 50
55 cgm.setup(new ConfigurationFinish(startCS)); 51 cgm.setup(new SaveCookie());
52 cgm.setup(new IncomingAbstractHostName(topologyNodeConfig));
53 cgm.setup(new IncomingReverseKey());
54 cgm.setup(new ConfigurationFinish());
56 55
57 } 56 }
58 } 57 }