Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(568)

Side by Side Diff: net/log/net_log.h

Issue 1122483004: Remove NetLog::GetCaptureMode() and NetLogCaptureMode::None() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mmenke_refactor
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef NET_LOG_NET_LOG_H_ 5 #ifndef NET_LOG_NET_LOG_H_
6 #define NET_LOG_NET_LOG_H_ 6 #define NET_LOG_NET_LOG_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 200
201 // Emits a global event to the log stream, with its own unique source ID. 201 // Emits a global event to the log stream, with its own unique source ID.
202 void AddGlobalEntry(EventType type); 202 void AddGlobalEntry(EventType type);
203 void AddGlobalEntry(EventType type, 203 void AddGlobalEntry(EventType type,
204 const NetLog::ParametersCallback& parameters_callback); 204 const NetLog::ParametersCallback& parameters_callback);
205 205
206 // Returns a unique ID which can be used as a source ID. All returned IDs 206 // Returns a unique ID which can be used as a source ID. All returned IDs
207 // will be unique and greater than 0. 207 // will be unique and greater than 0.
208 uint32 NextID(); 208 uint32 NextID();
209 209
210 // Returns the capture mode for this NetLog. This is used to avoid computing 210 // Returns true if there are any observers attached to the NetLog. This can be
211 // and saving expensive log entries. 211 // used as an optimization to avoid emitting log entries.
212 NetLogCaptureMode GetCaptureMode() const; 212 bool HasObservers() const;
213 213
214 // Adds an observer and sets its log capture mode. The observer must not be 214 // Adds an observer and sets its log capture mode. The observer must not be
215 // watching any NetLog, including this one, when this is called. 215 // watching any NetLog, including this one, when this is called.
216 // 216 //
217 // NetLog implementations must call NetLog::OnAddObserver to update the 217 // NetLog implementations must call NetLog::OnAddObserver to update the
218 // observer's internal state. 218 // observer's internal state.
219 // 219 //
220 // DEPRECATED: The ability to watch the netlog stream is being phased out 220 // DEPRECATED: The ability to watch the netlog stream is being phased out
221 // (crbug.com/472693) as it can be misused in production code. Please consult 221 // (crbug.com/472693) as it can be misused in production code. Please consult
222 // with a net/log OWNER before introducing a new dependency on this. 222 // with a net/log OWNER before introducing a new dependency on this.
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 const base::string16* value); 287 const base::string16* value);
288 288
289 private: 289 private:
290 friend class BoundNetLog; 290 friend class BoundNetLog;
291 291
292 void AddEntry(EventType type, 292 void AddEntry(EventType type,
293 const Source& source, 293 const Source& source,
294 EventPhase phase, 294 EventPhase phase,
295 const NetLog::ParametersCallback* parameters_callback); 295 const NetLog::ParametersCallback* parameters_callback);
296 296
297 // Called whenever an observer is added or removed, or has its log 297 // Called whenever an observer is added or removed, to update has_observers_.
mmenke 2015/05/05 19:45:15 |observers_| is more consistent with the other com
eroman 2015/05/05 22:54:38 Done (I presume you meant |has_observers_|)
298 // capture mode changed. Must have acquired |lock_| prior to calling. 298 // Must have acquired |lock_| prior to calling.
299 void UpdateCaptureMode(); 299 void UpdateHasObservers();
300 300
301 // |lock_| protects access to |observers_|. 301 // |lock_| protects access to |observers_|.
302 base::Lock lock_; 302 base::Lock lock_;
303 303
304 // Last assigned source ID. Incremented to get the next one. 304 // Last assigned source ID. Incremented to get the next one.
305 base::subtle::Atomic32 last_id_; 305 base::subtle::Atomic32 last_id_;
306 306
307 // The current capture mode. Note that the capture mode is stored as an 307 // Whether there are any observers in |observers_|. Note that this is stored
308 // integer rather than a NetLogCaptureMode so that it can be easily 308 // as an Atomic32 rather than a boolean so it can be accessed/written without
309 // read/written without a lock using Atomic32. 309 // needing a lock.
310 base::subtle::Atomic32 effective_capture_mode_int32_; 310 base::subtle::Atomic32 has_observers_;
311 311
312 // |lock_| must be acquired whenever reading or writing to this. 312 // |lock_| must be acquired whenever reading or writing to this.
313 ObserverList<ThreadSafeObserver, true> observers_; 313 ObserverList<ThreadSafeObserver, true> observers_;
314 314
315 DISALLOW_COPY_AND_ASSIGN(NetLog); 315 DISALLOW_COPY_AND_ASSIGN(NetLog);
316 }; 316 };
317 317
318 // Helper that binds a Source to a NetLog, and exposes convenience methods to 318 // Helper that binds a Source to a NetLog, and exposes convenience methods to
319 // output log messages without needing to pass in the source. 319 // output log messages without needing to pass in the source.
320 class NET_EXPORT BoundNetLog { 320 class NET_EXPORT BoundNetLog {
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 // |net_error| must not be ERR_IO_PENDING, as it's not a true error. 355 // |net_error| must not be ERR_IO_PENDING, as it's not a true error.
356 void EndEventWithNetErrorCode(NetLog::EventType event_type, 356 void EndEventWithNetErrorCode(NetLog::EventType event_type,
357 int net_error) const; 357 int net_error) const;
358 358
359 // Logs a byte transfer event to the NetLog. Determines whether to log the 359 // Logs a byte transfer event to the NetLog. Determines whether to log the
360 // received bytes or not based on the current logging level. 360 // received bytes or not based on the current logging level.
361 void AddByteTransferEvent(NetLog::EventType event_type, 361 void AddByteTransferEvent(NetLog::EventType event_type,
362 int byte_count, 362 int byte_count,
363 const char* bytes) const; 363 const char* bytes) const;
364 364
365 NetLogCaptureMode GetCaptureMode() const; 365 bool HasObservers() const;
mmenke 2015/05/05 19:45:15 Maybe IsLogging? I don't think consumers of the B
eroman 2015/05/05 22:54:38 Renamed to IsCapturing(). Which I think is in line
366 366
367 // Helper to create a BoundNetLog given a NetLog and a SourceType. Takes care 367 // Helper to create a BoundNetLog given a NetLog and a SourceType. Takes care
368 // of creating a unique source ID, and handles the case of NULL net_log. 368 // of creating a unique source ID, and handles the case of NULL net_log.
369 static BoundNetLog Make(NetLog* net_log, NetLog::SourceType source_type); 369 static BoundNetLog Make(NetLog* net_log, NetLog::SourceType source_type);
370 370
371 const NetLog::Source& source() const { return source_; } 371 const NetLog::Source& source() const { return source_; }
372 NetLog* net_log() const { return net_log_; } 372 NetLog* net_log() const { return net_log_; }
373 373
374 private: 374 private:
375 // TODO(eroman): Temporary until crbug.com/467797 is solved. 375 // TODO(eroman): Temporary until crbug.com/467797 is solved.
(...skipping 11 matching lines...) Expand all
387 NetLog::Source source_; 387 NetLog::Source source_;
388 NetLog* net_log_; 388 NetLog* net_log_;
389 389
390 // TODO(eroman): Temporary until crbug.com/467797 is solved. 390 // TODO(eroman): Temporary until crbug.com/467797 is solved.
391 Liveness liveness_ = ALIVE; 391 Liveness liveness_ = ALIVE;
392 }; 392 };
393 393
394 } // namespace net 394 } // namespace net
395 395
396 #endif // NET_LOG_NET_LOG_H_ 396 #endif // NET_LOG_NET_LOG_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698