public UpdateRackHeartbeat(RackHeartbeat rack) { _id = rack.getId(); _clusterId = rack.getCluster().id(); long crc = 0; crc = Crc64.generate(crc, _id); crc = Crc64.generate(crc, _clusterId); ServerHeartbeat[] servers = rack.getServers(); _servers = new UpdateServerHeartbeat[servers.length]; for (int i = 0; i < _servers.length; i++) { ServerHeartbeat server = servers[i]; if (server != null) { _servers[i] = server.getUpdate(); } else { _servers[i] = new UpdateServerHeartbeat(); } crc = Crc64.generate(crc, _servers[i].getCrc()); } _sequence = 0; _crc = crc; }
/** Create an external/configured server */ @Override public ServerHeartbeat server( String address, int port, boolean isSSL, String clusterId, String displayName, boolean isDynamic) { Objects.requireNonNull(address); Objects.requireNonNull(clusterId); if (address.isEmpty()) { address = "127.0.0.1"; } /* if (port <= 0) { throw new IllegalArgumentException(); } */ ClusterHeartbeat cluster = createCluster(clusterId); ServerHeartbeat server; if (isDynamic) { server = cluster.createDynamicServer(address, port, isSSL); } else { server = cluster.createServer(address, port, isSSL); } if (displayName != null) { server.setDisplayName(displayName); } if (!isDynamic) { cluster.addSeedServer(server); } return server; }
private void buildPods(PodHeartbeatImpl podHeartbeatImpl) { ServerHeartbeat serverSelf = (ServerHeartbeat) _bartender.serverSelf(); for (PodBuilderConfig pod : _podMap.values()) { UpdatePod updatePod = initBuilderPod(pod); podHeartbeatImpl.initPod(updatePod); } ClusterHeartbeat cluster = serverSelf.getCluster(); podHeartbeatImpl.initPod(initClusterPodHub(cluster)); podHeartbeatImpl.initPod(initClusterPod(cluster)); podHeartbeatImpl.initPod(initLocalPod()); /* for (PodConfig podConfig : _podConfigMap.values()) { podHeartbeatImpl.initPodConfig(podConfig); } */ }
/** Create an external/configured server */ @Override public ServerHeartbeat serverDyn( String address, int port, boolean isSSL, String clusterId, String displayName) { Objects.requireNonNull(address); Objects.requireNonNull(clusterId); /* if (port <= 0) { throw new IllegalArgumentException(); } */ ClusterHeartbeat cluster = createCluster(clusterId); ServerHeartbeat server = cluster.createServer(address, port, isSSL); if (displayName != null) { server.setDisplayName(displayName); } cluster.addDynamicServer(server); return server; }