Remove extra data copy in LoadBalancerServerId constructor. PiperOrigin-RevId: 596587634
diff --git a/quiche/quic/load_balancer/load_balancer_server_id.cc b/quiche/quic/load_balancer/load_balancer_server_id.cc index c3cd326..8702485 100644 --- a/quiche/quic/load_balancer/load_balancer_server_id.cc +++ b/quiche/quic/load_balancer/load_balancer_server_id.cc
@@ -17,18 +17,6 @@ namespace quic { -namespace { - -// Helper to allow setting the const array during initialization. -std::array<uint8_t, kLoadBalancerMaxServerIdLen> MakeArray( - const absl::Span<const uint8_t> data, const uint8_t length) { - std::array<uint8_t, kLoadBalancerMaxServerIdLen> array; - memcpy(array.data(), data.data(), length); - return array; -} - -} // namespace - std::optional<LoadBalancerServerId> LoadBalancerServerId::Create( const absl::Span<const uint8_t> data) { if (data.length() == 0 || data.length() > kLoadBalancerMaxServerIdLen) { @@ -46,6 +34,8 @@ } LoadBalancerServerId::LoadBalancerServerId(const absl::Span<const uint8_t> data) - : data_(MakeArray(data, data.length())), length_(data.length()) {} + : length_(data.length()) { + memcpy(data_.data(), data.data(), data.length()); +} } // namespace quic