xref: /aosp_15_r20/external/cronet/net/dns/dns_session.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker // Copyright 2012 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker 
5*6777b538SAndroid Build Coastguard Worker #include "net/dns/dns_session.h"
6*6777b538SAndroid Build Coastguard Worker 
7*6777b538SAndroid Build Coastguard Worker #include <stdint.h>
8*6777b538SAndroid Build Coastguard Worker 
9*6777b538SAndroid Build Coastguard Worker #include <limits>
10*6777b538SAndroid Build Coastguard Worker #include <utility>
11*6777b538SAndroid Build Coastguard Worker 
12*6777b538SAndroid Build Coastguard Worker #include "base/functional/bind.h"
13*6777b538SAndroid Build Coastguard Worker #include "base/rand_util.h"
14*6777b538SAndroid Build Coastguard Worker #include "net/dns/dns_config.h"
15*6777b538SAndroid Build Coastguard Worker #include "net/log/net_log.h"
16*6777b538SAndroid Build Coastguard Worker 
17*6777b538SAndroid Build Coastguard Worker namespace net {
18*6777b538SAndroid Build Coastguard Worker 
DnsSession(const DnsConfig & config,const RandIntCallback & rand_int_callback,NetLog * net_log)19*6777b538SAndroid Build Coastguard Worker DnsSession::DnsSession(const DnsConfig& config,
20*6777b538SAndroid Build Coastguard Worker                        const RandIntCallback& rand_int_callback,
21*6777b538SAndroid Build Coastguard Worker                        NetLog* net_log)
22*6777b538SAndroid Build Coastguard Worker     : config_(config),
23*6777b538SAndroid Build Coastguard Worker       rand_callback_(base::BindRepeating(rand_int_callback,
24*6777b538SAndroid Build Coastguard Worker                                          0,
25*6777b538SAndroid Build Coastguard Worker                                          std::numeric_limits<uint16_t>::max())),
26*6777b538SAndroid Build Coastguard Worker       net_log_(net_log) {}
27*6777b538SAndroid Build Coastguard Worker 
28*6777b538SAndroid Build Coastguard Worker DnsSession::~DnsSession() = default;
29*6777b538SAndroid Build Coastguard Worker 
NextQueryId() const30*6777b538SAndroid Build Coastguard Worker uint16_t DnsSession::NextQueryId() const {
31*6777b538SAndroid Build Coastguard Worker   return static_cast<uint16_t>(rand_callback_.Run());
32*6777b538SAndroid Build Coastguard Worker }
33*6777b538SAndroid Build Coastguard Worker 
InvalidateWeakPtrsForTesting()34*6777b538SAndroid Build Coastguard Worker void DnsSession::InvalidateWeakPtrsForTesting() {
35*6777b538SAndroid Build Coastguard Worker   weak_ptr_factory_.InvalidateWeakPtrs();
36*6777b538SAndroid Build Coastguard Worker }
37*6777b538SAndroid Build Coastguard Worker 
38*6777b538SAndroid Build Coastguard Worker }  // namespace net
39