Mercurial > hg > Database > Christie
comparison src/main/java/christie/topology/manager/IncomingHosts.java @ 170:f9f83bb213e8
fix topology manager
author | akahori |
---|---|
date | Tue, 22 Jan 2019 18:32:39 +0900 |
parents | c7300be0fff6 |
children | 6eb548c188e5 |
comparison
equal
deleted
inserted
replaced
169:1e696b2d3c6d | 170:f9f83bb213e8 |
---|---|
23 @Take // new coming host info | 23 @Take // new coming host info |
24 HostMessage newHost; | 24 HostMessage newHost; |
25 @Take | 25 @Take |
26 String MD5; | 26 String MD5; |
27 | 27 |
28 @Take | |
29 HashMap<String, LinkedList<HostMessage>> topology; | |
30 | |
28 @Peek | 31 @Peek |
29 TopologyDataGear topoDG; | 32 TopologyDataGear topoDG; |
30 | 33 |
31 public IncomingHosts() { | 34 public IncomingHosts() { |
32 | 35 |
44 newHost.getPort()); | 47 newHost.getPort()); |
45 | 48 |
46 absCookieTable.put(MD5, nodeName); | 49 absCookieTable.put(MD5, nodeName); |
47 getLocalDGM().put("absCookieTable", absCookieTable); | 50 getLocalDGM().put("absCookieTable", absCookieTable); |
48 | 51 |
49 topoDG.setNodeName(nodeName); | 52 |
50 getDGM(nodeName).put( "topoDG", topoDG); | |
51 getDGM(nodeName).put("cookie", MD5); | 53 getDGM(nodeName).put("cookie", MD5); |
52 | 54 |
53 LinkedList<HostMessage> nodeInfoList = resultParse.get(nodeName); | 55 LinkedList<HostMessage> nodeInfoList = resultParse.get(nodeName); |
56 put(nodeName, "connectNodeNum", nodeInfoList.size()); | |
57 if(nodeInfoList.size() == 0) put(nodeName,"reverseNodeName", ""); | |
58 | |
54 for (HostMessage nodeInfo : nodeInfoList) { | 59 for (HostMessage nodeInfo : nodeInfoList) { |
60 | |
55 | 61 |
56 nodeInfo.setHostAndPort(newHost); | 62 nodeInfo.setHostAndPort(newHost); |
57 | 63 |
58 getLocalDGM().put("nodeInfo", nodeInfo); | 64 //getLocalDGM().put("nodeInfo", nodeInfo); |
59 getDGM(nodeName).put("remoteNodeInfo", nodeInfo); | 65 |
60 cgm.setup(new RecordTopology()); | 66 //getDGM(nodeName).put("remoteNodeInfo", nodeInfo); |
67 //cgm.setup(new RecordTopology()); | |
68 | |
69 String nodeInfoNodeName = nodeInfo.getNodeName(); | |
70 LinkedList<HostMessage> connections; | |
71 | |
72 if (!topology.containsKey(nodeInfoNodeName)) { | |
73 connections = new LinkedList<HostMessage>(); | |
74 } else { | |
75 connections = topology.get(nodeInfoNodeName); | |
76 } | |
77 connections.add(nodeInfo); | |
78 topology.put(nodeInfoNodeName, connections); | |
61 } | 79 } |
80 | |
81 getLocalDGM().put("topology", topology); | |
82 | |
62 | 83 |
63 if (nodeNames.isEmpty()) { | 84 if (nodeNames.isEmpty()) { |
64 // configuration finish | 85 // configuration finish |
65 for (String key : resultParse.keySet()) { | 86 for (String key : resultParse.keySet()) { |
87 topoDG.setNodeName(key); | |
88 getDGM(key).put("topoDG", topoDG); | |
89 if(topology.containsKey(key)){ | |
90 LinkedList<HostMessage> connections = topology.get(key); | |
91 for(HostMessage connection: connections) { | |
92 put(key, "remoteNodeInfo", connection); | |
93 } | |
94 } | |
66 put(key, "remoteNodeInfo", new HostMessage()); // end mark | 95 put(key, "remoteNodeInfo", new HostMessage()); // end mark |
67 } | 96 } |
68 } | 97 } |
69 getLocalDGM().put("resultParse", resultParse); | 98 getLocalDGM().put("resultParse", resultParse); |
70 | 99 |