Clean up and modernize //aos/network

Change-Id: Iadc1ff1eb7156a350403fdfb7cab684e38a69029
diff --git a/aos/network/team_number.cc b/aos/network/team_number.cc
index 1b90079..b031299 100644
--- a/aos/network/team_number.cc
+++ b/aos/network/team_number.cc
@@ -5,16 +5,15 @@
 #include <unistd.h>
 #include <stdlib.h>
 
-#include <string>
+#include "glog/logging.h"
 
-#include "absl/base/call_once.h"
-#include "aos/logging/logging.h"
 #include "aos/util/string_to_num.h"
 
 namespace aos {
 namespace network {
-namespace internal {
-int ParseTeamNumber(const std::string &hostname, uint16_t *teamnumber) {
+namespace team_number_internal {
+
+std::optional<uint16_t> ParseRoborioTeamNumber(const std::string &hostname) {
   for (size_t i = 0; i < hostname.size(); i++) {
     if (hostname[i] == '-') {
       const std::string num_as_s =
@@ -24,45 +23,49 @@
 
       int num;
       if (!::aos::util::StringToNumber(num_as_s, &num)) {
-        return -1;
+        return std::nullopt;
       }
       if (hostname.substr(0, i) == "roboRIO" &&
           std::to_string(num) == num_as_s) {
-        *teamnumber = num;
-        return 0;
-      } else {
-        return -1;
+        return num;
       }
+      return std::nullopt;
     }
   }
-  return -1;
+  return std::nullopt;
 }
-}  // namespace internal
+
+}  // namespace team_number_internal
 
 namespace {
 
 uint16_t override_team;
 
-void DoGetTeamNumber(uint16_t *result) {
+uint16_t DoGetTeamNumber() {
   if (override_team != 0) {
-      *result = override_team;
-      return;
+      return override_team;
   }
 
   const char *override_number = getenv("AOS_TEAM_NUMBER");
   if (override_number != nullptr) {
-    if (!::aos::util::StringToNumber(override_number, result)) {
-      AOS_LOG(FATAL, "error parsing AOS_TEAM_NUMBER '%s'\n", override_number);
+    uint16_t result;
+    if (!::aos::util::StringToNumber(override_number, &result)) {
+      LOG(FATAL) << "Error parsing AOS_TEAM_NUMBER: " << override_number;
     }
-    AOS_LOG(WARNING,
-            "team number overridden by AOS_TEAM_NUMBER to %" PRIu16 "\n", *result);
-  } else {
-    int error = internal::ParseTeamNumber(GetHostname(), result);
-    if (error) {
-      AOS_LOG(FATAL, "Invalid hostname %s\n", GetHostname().c_str());
-    }
-    AOS_LOG(INFO, "team number is %" PRIu16 "\n", *result);
+    LOG(WARNING)
+        << "Team number overriden by AOS_TEAM_NUMBER environment variable to "
+        << result;
+    return result;
   }
+  const auto hostname = GetHostname();
+  {
+    const auto result = team_number_internal::ParseRoborioTeamNumber(hostname);
+    if (result) {
+      LOG(INFO) << "roboRIO hostname team number is: " << *result;
+      return *result;
+    }
+  }
+  LOG(FATAL) << "Failed to parse a team number from hostname: " << hostname;
 }
 
 }  // namespace
@@ -70,14 +73,12 @@
 ::std::string GetHostname() {
   char buf[256];
   buf[sizeof(buf) - 1] = '\0';
-  AOS_PCHECK(gethostname(buf, sizeof(buf) - 1));
+  PCHECK(gethostname(buf, sizeof(buf) - 1) == 0);
   return buf;
 }
 
 uint16_t GetTeamNumber() {
-  static absl::once_flag once;
-  static uint16_t result;
-  absl::call_once(once, DoGetTeamNumber, &result);
+  const static uint16_t result = DoGetTeamNumber();
   return result;
 }