private void changePortStateAtMaster(DeviceId deviceId, PortNumber portNumber, boolean enable) { DeviceProvider provider = getProvider(deviceId); if (provider != null) { log.info("Port {} on device {} being administratively brought {}", portNumber, deviceId, (enable) ? "UP" : "DOWN"); provider.changePortState(deviceId, portNumber, enable); } else { log.warn("Provider not found for {}", deviceId); } }
private boolean isReachable(DeviceId deviceId) { if (deviceId == null) { return false; } DeviceProvider provider = getProvider(deviceId); if (provider != null) { boolean reachable = provider.isReachable(deviceId); if (reachable && !isLocallyConnected(deviceId)) { deviceLocalStatus.put(deviceId, new LocalStatus(true, Instant.now())); } else if (!reachable && isLocallyConnected(deviceId)) { deviceLocalStatus.put(deviceId, new LocalStatus(false, Instant.now())); } return reachable; } else { log.debug("Provider not found for {}", deviceId); return false; } }
ProviderId pid = Optional.ofNullable(getProvider(did)) .map(Provider::id) .orElse(null);
/** * Apply role to device and send probe if MASTER. * * @param deviceId device identifier * @param newRole new role to apply to the device * @return true if the request was sent to provider */ private boolean applyRoleAndProbe(DeviceId deviceId, MastershipRole newRole) { if (newRole.equals(MastershipRole.NONE)) { //no-op return true; } DeviceProvider provider = getProvider(deviceId); if (provider == null) { log.warn("Provider for {} was not found. Cannot apply role {}", deviceId, newRole); return false; } provider.roleChanged(deviceId, newRole); if (newRole.equals(MastershipRole.MASTER)) { log.debug("sent TriggerProbe({})", deviceId); // only trigger event when request was sent to provider provider.triggerProbe(deviceId); } return true; }