@Override public HostConnectionInfo getHostInfo(String hostName) { return slaveHostRegistrations.getRegistration(hostName); }
@Override public HostConnectionInfo getHostInfo(String hostName) { return slaveHostRegistrations.getRegistration(hostName); }
@Override public boolean isHostRegistered(String id) { final DomainSlaveHostRegistrations.DomainHostConnection registration = slaveHostRegistrations.getRegistration(id); return registration != null && registration.isConnected(); }
@Override public boolean isHostRegistered(String id) { final DomainSlaveHostRegistrations.DomainHostConnection registration = slaveHostRegistrations.getRegistration(id); return registration != null && registration.isConnected(); }
@Override public void pingRemoteHost(String id) { DomainSlaveHostRegistrations.DomainHostConnection reg = slaveHostRegistrations.getRegistration(id); if (reg != null && reg.getPinger() != null && !reg.getPinger().isCancelled()) { reg.getPinger().schedulePing(SlaveHostPinger.SHORT_TIMEOUT, 0); } }
@Override public void pingRemoteHost(String id) { DomainSlaveHostRegistrations.DomainHostConnection reg = slaveHostRegistrations.getRegistration(id); if (reg != null && reg.getPinger() != null && !reg.getPinger().isCancelled()) { reg.getPinger().schedulePing(SlaveHostPinger.SHORT_TIMEOUT, 0); } }
@Override public void unregisterRemoteHost(String id, Long remoteConnectionId, boolean cleanShutdown) { DomainSlaveHostRegistrations.DomainHostConnection hostRegistration = slaveHostRegistrations.getRegistration(id); if (hostRegistration != null) { if ((remoteConnectionId == null || remoteConnectionId.equals(hostRegistration.getRemoteConnectionId()))) { final SlaveHostPinger pinger = hostRegistration.getPinger(); if (pinger != null) { pinger.cancel(); } boolean registered = hostProxies.remove(id) != null; modelNodeRegistration.unregisterProxyController(PathElement.pathElement(HOST, id)); if (registered) { final String address = hostRegistration.getAddress(); final Event event = cleanShutdown ? create(HostConnectionInfo.EventType.UNREGISTERED, address) : create(HostConnectionInfo.EventType.UNCLEAN_UNREGISTRATION, address); slaveHostRegistrations.unregisterHost(id, event); if (!cleanShutdown) { DOMAIN_LOGGER.lostConnectionToRemoteHost(id); } else { DOMAIN_LOGGER.unregisteredRemoteSlaveHost(id); } } } } }
@Override public void unregisterRemoteHost(String id, Long remoteConnectionId, boolean cleanShutdown) { DomainSlaveHostRegistrations.DomainHostConnection hostRegistration = slaveHostRegistrations.getRegistration(id); if (hostRegistration != null) { if ((remoteConnectionId == null || remoteConnectionId.equals(hostRegistration.getRemoteConnectionId()))) { final SlaveHostPinger pinger = hostRegistration.getPinger(); if (pinger != null) { pinger.cancel(); } boolean registered = hostProxies.remove(id) != null; modelNodeRegistration.unregisterProxyController(PathElement.pathElement(HOST, id)); if (registered) { final String address = hostRegistration.getAddress(); final Event event = cleanShutdown ? create(HostConnectionInfo.EventType.UNREGISTERED, address) : create(HostConnectionInfo.EventType.UNCLEAN_UNREGISTRATION, address); slaveHostRegistrations.unregisterHost(id, event); if (!cleanShutdown) { DOMAIN_LOGGER.lostConnectionToRemoteHost(id); } else { DOMAIN_LOGGER.unregisteredRemoteSlaveHost(id); } } } } }