xref: /aosp_15_r20/external/cronet/net/log/net_log_source.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker // Copyright 2016 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/log/net_log_source.h"
6*6777b538SAndroid Build Coastguard Worker 
7*6777b538SAndroid Build Coastguard Worker #include <memory>
8*6777b538SAndroid Build Coastguard Worker #include <utility>
9*6777b538SAndroid Build Coastguard Worker 
10*6777b538SAndroid Build Coastguard Worker #include "base/values.h"
11*6777b538SAndroid Build Coastguard Worker 
12*6777b538SAndroid Build Coastguard Worker namespace net {
13*6777b538SAndroid Build Coastguard Worker 
14*6777b538SAndroid Build Coastguard Worker // LoadTimingInfo requires this be 0.
15*6777b538SAndroid Build Coastguard Worker const uint32_t NetLogSource::kInvalidId = 0;
16*6777b538SAndroid Build Coastguard Worker 
NetLogSource()17*6777b538SAndroid Build Coastguard Worker NetLogSource::NetLogSource()
18*6777b538SAndroid Build Coastguard Worker     : NetLogSource(NetLogSourceType::NONE, kInvalidId) {}
19*6777b538SAndroid Build Coastguard Worker 
NetLogSource(NetLogSourceType type,uint32_t id)20*6777b538SAndroid Build Coastguard Worker NetLogSource::NetLogSource(NetLogSourceType type, uint32_t id)
21*6777b538SAndroid Build Coastguard Worker     : NetLogSource(type, id, base::TimeTicks::Now()) {}
22*6777b538SAndroid Build Coastguard Worker 
NetLogSource(NetLogSourceType type,uint32_t id,base::TimeTicks start_time)23*6777b538SAndroid Build Coastguard Worker NetLogSource::NetLogSource(NetLogSourceType type,
24*6777b538SAndroid Build Coastguard Worker                            uint32_t id,
25*6777b538SAndroid Build Coastguard Worker                            base::TimeTicks start_time)
26*6777b538SAndroid Build Coastguard Worker     : type(type), id(id), start_time(start_time) {}
27*6777b538SAndroid Build Coastguard Worker 
operator ==(const NetLogSource & rhs) const28*6777b538SAndroid Build Coastguard Worker bool NetLogSource::operator==(const NetLogSource& rhs) const {
29*6777b538SAndroid Build Coastguard Worker   return type == rhs.type && id == rhs.id && start_time == rhs.start_time;
30*6777b538SAndroid Build Coastguard Worker }
31*6777b538SAndroid Build Coastguard Worker 
IsValid() const32*6777b538SAndroid Build Coastguard Worker bool NetLogSource::IsValid() const {
33*6777b538SAndroid Build Coastguard Worker   return id != kInvalidId;
34*6777b538SAndroid Build Coastguard Worker }
35*6777b538SAndroid Build Coastguard Worker 
AddToEventParameters(base::Value::Dict & event_params) const36*6777b538SAndroid Build Coastguard Worker void NetLogSource::AddToEventParameters(base::Value::Dict& event_params) const {
37*6777b538SAndroid Build Coastguard Worker   base::Value::Dict dict;
38*6777b538SAndroid Build Coastguard Worker   dict.Set("type", static_cast<int>(type));
39*6777b538SAndroid Build Coastguard Worker   dict.Set("id", static_cast<int>(id));
40*6777b538SAndroid Build Coastguard Worker   event_params.Set("source_dependency", std::move(dict));
41*6777b538SAndroid Build Coastguard Worker }
42*6777b538SAndroid Build Coastguard Worker 
ToEventParameters() const43*6777b538SAndroid Build Coastguard Worker base::Value::Dict NetLogSource::ToEventParameters() const {
44*6777b538SAndroid Build Coastguard Worker   if (!IsValid())
45*6777b538SAndroid Build Coastguard Worker     return base::Value::Dict();
46*6777b538SAndroid Build Coastguard Worker   base::Value::Dict event_params;
47*6777b538SAndroid Build Coastguard Worker   AddToEventParameters(event_params);
48*6777b538SAndroid Build Coastguard Worker   return event_params;
49*6777b538SAndroid Build Coastguard Worker }
50*6777b538SAndroid Build Coastguard Worker 
51*6777b538SAndroid Build Coastguard Worker }  // namespace net
52