xref: /aosp_15_r20/external/cronet/net/quic/quic_chromium_client_session_peer.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2013 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "net/quic/quic_chromium_client_session_peer.h"
6 
7 #include <string>
8 
9 #include "net/base/network_anonymization_key.h"
10 #include "net/base/privacy_mode.h"
11 #include "net/base/proxy_chain.h"
12 #include "net/base/session_usage.h"
13 #include "net/dns/public/secure_dns_policy.h"
14 #include "net/quic/quic_session_key.h"
15 #include "net/socket/socket_tag.h"
16 #include "net/third_party/quiche/src/quiche/quic/core/quic_server_id.h"
17 #include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
18 namespace net::test {
19 // static
SetHostname(QuicChromiumClientSession * session,const std::string & hostname)20 void QuicChromiumClientSessionPeer::SetHostname(
21     QuicChromiumClientSession* session,
22     const std::string& hostname) {
23   quic::QuicServerId server_id(hostname,
24                                session->session_key_.server_id().port(),
25                                session->session_key_.privacy_mode());
26   session->session_key_ = QuicSessionKey(
27       server_id, session->session_key_.proxy_chain(),
28       session->session_key_.session_usage(), session->session_key_.socket_tag(),
29       session->session_key_.network_anonymization_key(),
30       session->session_key_.secure_dns_policy(),
31       session->session_key_.require_dns_https_alpn());
32 }
33 
34 // static
CreateOutgoingStream(QuicChromiumClientSession * session)35 QuicChromiumClientStream* QuicChromiumClientSessionPeer::CreateOutgoingStream(
36     QuicChromiumClientSession* session) {
37   return session->ShouldCreateOutgoingBidirectionalStream()
38              ? session->CreateOutgoingReliableStreamImpl(
39                    TRAFFIC_ANNOTATION_FOR_TESTS)
40              : nullptr;
41 }
42 
43 // static
GetSessionGoingAway(QuicChromiumClientSession * session)44 bool QuicChromiumClientSessionPeer::GetSessionGoingAway(
45     QuicChromiumClientSession* session) {
46   return session->going_away_;
47 }
48 
49 // static
GetCurrentMigrationCause(QuicChromiumClientSession * session)50 MigrationCause QuicChromiumClientSessionPeer::GetCurrentMigrationCause(
51     QuicChromiumClientSession* session) {
52   return session->current_migration_cause_;
53 }
54 
55 }  // namespace net::test
56