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 WorkerDnsSession::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 Workeruint16_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 Workervoid 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