| // Copyright 2024 The Chromium Authors | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #include "stream_socket_handle.h" | 
 |  | 
 | #include <memory> | 
 |  | 
 | #include "net/base/load_timing_info.h" | 
 | #include "net/log/net_log_with_source.h" | 
 | #include "net/socket/stream_socket.h" | 
 |  | 
 | namespace net { | 
 |  | 
 | StreamSocketHandle::StreamSocketHandle() = default; | 
 |  | 
 | StreamSocketHandle::~StreamSocketHandle() = default; | 
 |  | 
 | void StreamSocketHandle::SetSocket(std::unique_ptr<StreamSocket> socket) { | 
 |   socket_ = std::move(socket); | 
 | } | 
 |  | 
 | std::unique_ptr<StreamSocket> StreamSocketHandle::PassSocket() { | 
 |   return std::move(socket_); | 
 | } | 
 |  | 
 | bool StreamSocketHandle::GetLoadTimingInfo( | 
 |     bool is_reused, | 
 |     LoadTimingInfo* load_timing_info) const { | 
 |   if (socket_) { | 
 |     load_timing_info->socket_log_id = socket_->NetLog().source().id; | 
 |   } else { | 
 |     // Only return load timing information when there's a socket. | 
 |     return false; | 
 |   } | 
 |  | 
 |   load_timing_info->socket_reused = is_reused; | 
 |  | 
 |   // No times if the socket is reused. | 
 |   if (is_reused) { | 
 |     return true; | 
 |   } | 
 |  | 
 |   load_timing_info->connect_timing = connect_timing_; | 
 |   return true; | 
 | } | 
 |  | 
 | void StreamSocketHandle::AddHigherLayeredPool(HigherLayeredPool* pool) {} | 
 |  | 
 | void StreamSocketHandle::RemoveHigherLayeredPool(HigherLayeredPool* pool) {} | 
 |  | 
 | }  // namespace net |