Clean up includes in third_party/quic/load_balancer.

Also fixed a couple of typos and compiler warnings about use of const in declarations.

PiperOrigin-RevId: 559225729
diff --git a/quiche/quic/load_balancer/load_balancer_config.cc b/quiche/quic/load_balancer/load_balancer_config.cc
index 62d8898..89be497 100644
--- a/quiche/quic/load_balancer/load_balancer_config.cc
+++ b/quiche/quic/load_balancer/load_balancer_config.cc
@@ -4,10 +4,14 @@
 
 #include "quiche/quic/load_balancer/load_balancer_config.h"
 
-#include <memory>
-#include <string_view>
+#include <cstdint>
+#include <cstring>
 
+#include "absl/strings/string_view.h"
+#include "absl/types/optional.h"
+#include "absl/types/span.h"
 #include "openssl/aes.h"
+#include "quiche/quic/core/quic_connection_id.h"
 #include "quiche/quic/platform/api/quic_bug_tracker.h"
 
 namespace quic {
diff --git a/quiche/quic/load_balancer/load_balancer_config.h b/quiche/quic/load_balancer/load_balancer_config.h
index 39b7781..7f63edd 100644
--- a/quiche/quic/load_balancer/load_balancer_config.h
+++ b/quiche/quic/load_balancer/load_balancer_config.h
@@ -5,8 +5,12 @@
 #ifndef QUICHE_QUIC_LOAD_BALANCER_LOAD_BALANCER_CONFIG_H_
 #define QUICHE_QUIC_LOAD_BALANCER_LOAD_BALANCER_CONFIG_H_
 
+#include <cstdint>
+
+#include "absl/strings/string_view.h"
+#include "absl/types/optional.h"
+#include "absl/types/span.h"
 #include "openssl/aes.h"
-#include "quiche/quic/core/quic_types.h"
 #include "quiche/quic/platform/api/quic_export.h"
 
 namespace quic {
@@ -42,22 +46,21 @@
   // nonce_len: Length of the nonce. Must be at least 4 and no larger than 16.
   // Further the server_id_len + nonce_len must be no larger than 19.
   // key: The encryption key must be 16B long.
-  static absl::optional<LoadBalancerConfig> Create(const uint8_t config_id,
-                                                   const uint8_t server_id_len,
-                                                   const uint8_t nonce_len,
-                                                   const absl::string_view key);
+  static absl::optional<LoadBalancerConfig> Create(uint8_t config_id,
+                                                   uint8_t server_id_len,
+                                                   uint8_t nonce_len,
+                                                   absl::string_view key);
 
   // Creates an unencrypted config.
   static absl::optional<LoadBalancerConfig> CreateUnencrypted(
-      const uint8_t config_id, const uint8_t server_id_len,
-      const uint8_t nonce_len);
+      uint8_t config_id, uint8_t server_id_len, uint8_t nonce_len);
 
   // Handles one pass of 4-pass encryption. Encoder and decoder use of this
   // function varies substantially, so they are not implemented here.
   // Returns false if the config is not encrypted, or if |target| isn't long
   // enough.
   ABSL_MUST_USE_RESULT bool EncryptionPass(absl::Span<uint8_t> target,
-                                           const uint8_t index) const;
+                                           uint8_t index) const;
   // Use the key to do a block encryption, which is used both in all cases of
   // encrypted configs. Returns false if there's no key.
   ABSL_MUST_USE_RESULT bool BlockEncrypt(
diff --git a/quiche/quic/load_balancer/load_balancer_config_test.cc b/quiche/quic/load_balancer/load_balancer_config_test.cc
index bd4cbd2..071815e 100644
--- a/quiche/quic/load_balancer/load_balancer_config_test.cc
+++ b/quiche/quic/load_balancer/load_balancer_config_test.cc
@@ -4,8 +4,11 @@
 
 #include "quiche/quic/load_balancer/load_balancer_config.h"
 
+#include <array>
 #include <cstdint>
+#include <cstring>
 
+#include "absl/strings/string_view.h"
 #include "absl/types/span.h"
 #include "quiche/quic/platform/api/quic_expect_bug.h"
 #include "quiche/quic/platform/api/quic_test.h"
diff --git a/quiche/quic/load_balancer/load_balancer_decoder.cc b/quiche/quic/load_balancer/load_balancer_decoder.cc
index a770c28..a475ada 100644
--- a/quiche/quic/load_balancer/load_balancer_decoder.cc
+++ b/quiche/quic/load_balancer/load_balancer_decoder.cc
@@ -5,8 +5,13 @@
 #include "quiche/quic/load_balancer/load_balancer_decoder.h"
 
 #include <cstdint>
+#include <cstring>
 
+#include "absl/types/optional.h"
+#include "absl/types/span.h"
+#include "quiche/quic/core/quic_connection_id.h"
 #include "quiche/quic/load_balancer/load_balancer_config.h"
+#include "quiche/quic/load_balancer/load_balancer_server_id.h"
 #include "quiche/quic/platform/api/quic_bug_tracker.h"
 
 namespace quic {
diff --git a/quiche/quic/load_balancer/load_balancer_decoder.h b/quiche/quic/load_balancer/load_balancer_decoder.h
index f5ba6f3..5712b0f 100644
--- a/quiche/quic/load_balancer/load_balancer_decoder.h
+++ b/quiche/quic/load_balancer/load_balancer_decoder.h
@@ -5,6 +5,10 @@
 #ifndef QUICHE_QUIC_LOAD_BALANCER_LOAD_BALANCER_DECODER_H_
 #define QUICHE_QUIC_LOAD_BALANCER_LOAD_BALANCER_DECODER_H_
 
+#include <cstdint>
+
+#include "absl/types/optional.h"
+#include "quiche/quic/core/quic_connection_id.h"
 #include "quiche/quic/load_balancer/load_balancer_config.h"
 #include "quiche/quic/load_balancer/load_balancer_server_id.h"
 
diff --git a/quiche/quic/load_balancer/load_balancer_decoder_test.cc b/quiche/quic/load_balancer/load_balancer_decoder_test.cc
index eccc90f..1248db7 100644
--- a/quiche/quic/load_balancer/load_balancer_decoder_test.cc
+++ b/quiche/quic/load_balancer/load_balancer_decoder_test.cc
@@ -6,6 +6,8 @@
 
 #include <cstdint>
 
+#include "absl/strings/string_view.h"
+#include "absl/types/span.h"
 #include "quiche/quic/core/quic_connection_id.h"
 #include "quiche/quic/load_balancer/load_balancer_config.h"
 #include "quiche/quic/load_balancer/load_balancer_server_id.h"
diff --git a/quiche/quic/load_balancer/load_balancer_encoder.cc b/quiche/quic/load_balancer/load_balancer_encoder.cc
index 58cacbf..2d3f15b 100644
--- a/quiche/quic/load_balancer/load_balancer_encoder.cc
+++ b/quiche/quic/load_balancer/load_balancer_encoder.cc
@@ -7,14 +7,17 @@
 #include <cstdint>
 
 #include "absl/numeric/int128.h"
+#include "absl/types/optional.h"
+#include "quiche/quic/core/crypto/quic_random.h"
 #include "quiche/quic/core/quic_connection_id.h"
-#include "quiche/quic/core/quic_data_reader.h"
 #include "quiche/quic/core/quic_data_writer.h"
-#include "quiche/quic/core/quic_packet_number.h"
-#include "quiche/quic/core/quic_types.h"
 #include "quiche/quic/core/quic_utils.h"
+#include "quiche/quic/core/quic_versions.h"
 #include "quiche/quic/load_balancer/load_balancer_config.h"
+#include "quiche/quic/load_balancer/load_balancer_server_id.h"
 #include "quiche/quic/platform/api/quic_bug_tracker.h"
+#include "quiche/quic/platform/api/quic_logging.h"
+#include "quiche/common/quiche_endian.h"
 
 namespace quic {
 
diff --git a/quiche/quic/load_balancer/load_balancer_encoder.h b/quiche/quic/load_balancer/load_balancer_encoder.h
index c780c5e..2d70a7c 100644
--- a/quiche/quic/load_balancer/load_balancer_encoder.h
+++ b/quiche/quic/load_balancer/load_balancer_encoder.h
@@ -5,8 +5,15 @@
 #ifndef QUICHE_QUIC_LOAD_BALANCER_LOAD_BALANCER_ENCODER_H_
 #define QUICHE_QUIC_LOAD_BALANCER_LOAD_BALANCER_ENCODER_H_
 
+#include <algorithm>
+#include <cstdint>
+
+#include "absl/numeric/int128.h"
+#include "absl/types/optional.h"
 #include "quiche/quic/core/connection_id_generator.h"
 #include "quiche/quic/core/crypto/quic_random.h"
+#include "quiche/quic/core/quic_connection_id.h"
+#include "quiche/quic/core/quic_versions.h"
 #include "quiche/quic/load_balancer/load_balancer_config.h"
 #include "quiche/quic/load_balancer/load_balancer_server_id.h"
 
@@ -43,14 +50,14 @@
   // connection IDs and replace them with routable ones using the new config,
   // while avoiding sending a sudden storm of packets containing
   // RETIRE_CONNECTION_ID and NEW_CONNECTION_ID frames.
-  virtual void OnConfigAdded(const uint8_t config_id) = 0;
+  virtual void OnConfigAdded(uint8_t config_id) = 0;
   // Called when the config is changed.
   //
   // Existing routable connection IDs should be retired before the decoder stops
   // supporting that config. The timing of this event is deployment-dependent
   // and might be tied to the arrival of a new config at the encoder.
-  virtual void OnConfigChanged(const uint8_t old_config_id,
-                               const uint8_t new_config_id) = 0;
+  virtual void OnConfigChanged(uint8_t old_config_id,
+                               uint8_t new_config_id) = 0;
   // Called when a config is deleted. The encoder will generate unroutable
   // connection IDs from now on.
   //
@@ -59,7 +66,7 @@
   // deleted config, which will only become unroutable once the decoder also
   // deletes it. The time of that deletion is deployment-dependent and might be
   // tied to the arrival of a new config at the encoder.
-  virtual void OnConfigDeleted(const uint8_t config_id) = 0;
+  virtual void OnConfigDeleted(uint8_t config_id) = 0;
 };
 
 // Manages QUIC-LB configurations to properly encode a given server ID in a
@@ -83,9 +90,9 @@
   // connection IDs to be generated when there is no active config. It must not
   // be 0 and must not be larger than the RFC9000 maximum of 20.
   static absl::optional<LoadBalancerEncoder> Create(
-      QuicRandom& random, LoadBalancerEncoderVisitorInterface* const visitor,
-      const bool len_self_encoded,
-      const uint8_t unroutable_connection_id_len = kLoadBalancerUnroutableLen);
+      QuicRandom& random, LoadBalancerEncoderVisitorInterface* visitor,
+      bool len_self_encoded,
+      uint8_t unroutable_connection_id_len = kLoadBalancerUnroutableLen);
 
   // Attempts to replace the current config and server_id with |config| and
   // |server_id|. If the length |server_id| does not match the server_id_length
@@ -94,7 +101,7 @@
   // true. When the encoder runs out of nonces, it will delete the config and
   // begin generating unroutable connection IDs.
   bool UpdateConfig(const LoadBalancerConfig& config,
-                    const LoadBalancerServerId server_id);
+                    LoadBalancerServerId server_id);
 
   // Delete the current config and generate unroutable connection IDs from now
   // on.
diff --git a/quiche/quic/load_balancer/load_balancer_encoder_test.cc b/quiche/quic/load_balancer/load_balancer_encoder_test.cc
index d246758..5566df6 100644
--- a/quiche/quic/load_balancer/load_balancer_encoder_test.cc
+++ b/quiche/quic/load_balancer/load_balancer_encoder_test.cc
@@ -4,10 +4,20 @@
 
 #include "quiche/quic/load_balancer/load_balancer_encoder.h"
 
+#include <cstddef>
 #include <cstdint>
+#include <cstring>
+#include <queue>
 
 #include "absl/numeric/int128.h"
+#include "absl/strings/string_view.h"
+#include "absl/types/optional.h"
+#include "absl/types/span.h"
+#include "quiche/quic/core/crypto/quic_random.h"
 #include "quiche/quic/core/quic_connection_id.h"
+#include "quiche/quic/core/quic_versions.h"
+#include "quiche/quic/load_balancer/load_balancer_config.h"
+#include "quiche/quic/load_balancer/load_balancer_server_id.h"
 #include "quiche/quic/platform/api/quic_expect_bug.h"
 #include "quiche/quic/platform/api/quic_test.h"
 #include "quiche/quic/test_tools/quic_test_utils.h"
diff --git a/quiche/quic/load_balancer/load_balancer_server_id.cc b/quiche/quic/load_balancer/load_balancer_server_id.cc
index 5805b7f..7b91b7f 100644
--- a/quiche/quic/load_balancer/load_balancer_server_id.cc
+++ b/quiche/quic/load_balancer/load_balancer_server_id.cc
@@ -4,9 +4,15 @@
 
 #include "quiche/quic/load_balancer/load_balancer_server_id.h"
 
+#include <array>
+#include <cstdint>
+#include <cstring>
+#include <string>
+
 #include "absl/strings/escaping.h"
+#include "absl/strings/string_view.h"
+#include "absl/types/optional.h"
 #include "absl/types/span.h"
-#include "quiche/quic/core/quic_types.h"
 #include "quiche/quic/platform/api/quic_bug_tracker.h"
 
 namespace quic {
diff --git a/quiche/quic/load_balancer/load_balancer_server_id.h b/quiche/quic/load_balancer/load_balancer_server_id.h
index cdd3c95..fdb4604 100644
--- a/quiche/quic/load_balancer/load_balancer_server_id.h
+++ b/quiche/quic/load_balancer/load_balancer_server_id.h
@@ -6,8 +6,12 @@
 #define QUICHE_QUIC_LOAD_BALANCER_LOAD_BALANCER_SERVER_ID_H_
 
 #include <array>
+#include <cstdint>
+#include <string>
 
-#include "quiche/quic/core/quic_types.h"
+#include "absl/strings/string_view.h"
+#include "absl/types/optional.h"
+#include "absl/types/span.h"
 #include "quiche/quic/platform/api/quic_export.h"
 
 namespace quic {
@@ -60,7 +64,7 @@
 
  private:
   // The constructor is private because it can't validate the input.
-  LoadBalancerServerId(const absl::Span<const uint8_t> data);
+  LoadBalancerServerId(absl::Span<const uint8_t> data);
 
   std::array<uint8_t, kLoadBalancerMaxServerIdLen> data_;
   uint8_t length_;
diff --git a/quiche/quic/load_balancer/load_balancer_server_id_map.h b/quiche/quic/load_balancer/load_balancer_server_id_map.h
index 2e79e66..1b108fc 100644
--- a/quiche/quic/load_balancer/load_balancer_server_id_map.h
+++ b/quiche/quic/load_balancer/load_balancer_server_id_map.h
@@ -5,7 +5,11 @@
 #ifndef QUICHE_QUIC_LOAD_BALANCER_LOAD_BALANCER_SERVER_ID_MAP_H_
 #define QUICHE_QUIC_LOAD_BALANCER_LOAD_BALANCER_SERVER_ID_MAP_H_
 
+#include <cstdint>
+#include <memory>
+
 #include "absl/container/flat_hash_map.h"
+#include "absl/types/optional.h"
 #include "quiche/quic/load_balancer/load_balancer_server_id.h"
 #include "quiche/quic/platform/api/quic_bug_tracker.h"
 
@@ -20,17 +24,16 @@
  public:
   // Returns a newly created pool for server IDs of length |server_id_len|, or
   // nullptr if |server_id_len| is invalid.
-  static std::shared_ptr<LoadBalancerServerIdMap> Create(
-      const uint8_t server_id_len);
+  static std::shared_ptr<LoadBalancerServerIdMap> Create(uint8_t server_id_len);
 
   // Returns the entry associated with |server_id|, if present. For small |T|,
   // use Lookup. For large |T|, use LookupNoCopy.
-  absl::optional<const T> Lookup(const LoadBalancerServerId server_id) const;
-  const T* LookupNoCopy(const LoadBalancerServerId server_id) const;
+  absl::optional<const T> Lookup(LoadBalancerServerId server_id) const;
+  const T* LookupNoCopy(LoadBalancerServerId server_id) const;
 
   // Updates the table so that |value| is associated with |server_id|. Sets
   // QUIC_BUG if the length is incorrect for this map.
-  void AddOrReplace(const LoadBalancerServerId server_id, T value);
+  void AddOrReplace(LoadBalancerServerId server_id, T value);
 
   // Removes the entry associated with |server_id|.
   void Erase(const LoadBalancerServerId server_id) {
diff --git a/quiche/quic/load_balancer/load_balancer_server_id_map_test.cc b/quiche/quic/load_balancer/load_balancer_server_id_map_test.cc
index d8fcdac..6fe680f 100644
--- a/quiche/quic/load_balancer/load_balancer_server_id_map_test.cc
+++ b/quiche/quic/load_balancer/load_balancer_server_id_map_test.cc
@@ -4,9 +4,13 @@
 
 #include "quiche/quic/load_balancer/load_balancer_server_id_map.h"
 
+#include <cstdint>
+
+#include "absl/types/optional.h"
+#include "absl/types/span.h"
+#include "quiche/quic/load_balancer/load_balancer_server_id.h"
 #include "quiche/quic/platform/api/quic_expect_bug.h"
 #include "quiche/quic/platform/api/quic_test.h"
-#include "quiche/quic/test_tools/quic_test_utils.h"
 
 namespace quic {
 
diff --git a/quiche/quic/load_balancer/load_balancer_server_id_test.cc b/quiche/quic/load_balancer/load_balancer_server_id_test.cc
index 91fcc57..faed01a 100644
--- a/quiche/quic/load_balancer/load_balancer_server_id_test.cc
+++ b/quiche/quic/load_balancer/load_balancer_server_id_test.cc
@@ -4,11 +4,14 @@
 
 #include "quiche/quic/load_balancer/load_balancer_server_id.h"
 
+#include <cstdint>
+#include <cstring>
+
 #include "absl/hash/hash_testing.h"
+#include "absl/types/span.h"
 
 #include "quiche/quic/platform/api/quic_expect_bug.h"
 #include "quiche/quic/platform/api/quic_test.h"
-#include "quiche/quic/test_tools/quic_test_utils.h"
 
 namespace quic {