PTLib  Version 2.18.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PTrace::Throttle< lowLevel, interval, highLevel, maxShown > Struct Template Reference

Template class to reduce noise level for some logging. More...

#include <object.h>

Inheritance diagram for PTrace::Throttle< lowLevel, interval, highLevel, maxShown >:
Collaboration diagram for PTrace::Throttle< lowLevel, interval, highLevel, maxShown >:

Public Member Functions

 Throttle ()
 
- Public Member Functions inherited from PTrace::ThrottleBase
 ThrottleBase (unsigned lowLevel, unsigned interval=60000, unsigned highLevel=6, unsigned maxShown=1)
 
 ThrottleBase (const ThrottleBase &other)
 
ThrottleBaseoperator= (const ThrottleBase &other)
 
bool CanTrace (int64_t now=0)
 
 operator unsigned () const
 
__inline unsigned GetLowLevel () const
 
__inline unsigned GetHighLevel () const
 
__inline unsigned GetCurrentLevel () const
 
__inline unsigned GetHiddenCount () const
 

Additional Inherited Members

- Protected Attributes inherited from PTrace::ThrottleBase
unsigned m_interval
 
unsigned m_lowLevel
 
unsigned m_highLevel
 
unsigned m_maxShown
 
atomic< unsigned > m_currentLevel
 
atomic< int64_t > m_nextLog
 
atomic< unsigned > m_repeatCount
 
atomic< unsigned > m_hiddenCount
 

Detailed Description

template<unsigned lowLevel, unsigned interval = 60000, unsigned highLevel = 6, unsigned maxShown = 1>
struct PTrace::Throttle< lowLevel, interval, highLevel, maxShown >

Template class to reduce noise level for some logging.

This is primarily to set configuration values to compile time defaults without needing to be in ctor.

Constructor & Destructor Documentation

template<unsigned lowLevel, unsigned interval = 60000, unsigned highLevel = 6, unsigned maxShown = 1>
PTrace::Throttle< lowLevel, interval, highLevel, maxShown >::Throttle ( )
inline

The documentation for this struct was generated from the following file: