isAvailable method
Implementation
Future<bool> isAvailable() async {
try {
var secondaryUrl = await AtLookupImpl.findSecondary(
_atSign, _preference.rootDomain, _preference.rootPort);
var secondaryInfo = AtClientUtil.getSecondaryInfo(secondaryUrl);
var host = secondaryInfo[0];
var port = secondaryInfo[1];
var internetAddress = await InternetAddress.lookup(host);
//#TODO getting first ip for now. explore best solution
var addressCheckOptions =
AddressCheckOptions(internetAddress[0], port: int.parse(port));
return (await InternetConnectionChecker()
.isHostReachable(addressCheckOptions))
.isSuccess;
} on Exception catch (e) {
logger.severe('Secondary server unavailable ${e.toString}');
} on Error catch (e) {
logger.severe('Secondary server unavailable ${e.toString}');
}
return false;
}