status method

AtSignStatus? status()

Implementation

AtSignStatus? status() {
  AtSignStatus? status;
  // enum RootStatus { found, notFound, running, stopped, unavailable }
  // @server has no root location
  if (rootStatus == RootStatus.notFound) {
    status = AtSignStatus.notFound;
  } else if (rootStatus == RootStatus.found) {
    // enum ServerStatus { notFound, ready, teapot, activated, stopped, unavailable, error }
    if (serverStatus == ServerStatus.activated) {
      status = AtSignStatus.activated;
    } else if (serverStatus == ServerStatus.ready ||
        serverStatus == ServerStatus.teapot) {
      status = AtSignStatus.teapot;
    }
  }
  // service is not available
  else if (rootStatus == RootStatus.unavailable ||
      rootStatus == RootStatus.stopped ||
      serverStatus == ServerStatus.stopped ||
      serverStatus == ServerStatus.unavailable) {
    status = AtSignStatus.unavailable;
  }
  // @root is stopped

  else if (serverStatus == ServerStatus.unavailable) {}

  return status;
}