LLDB mainline
lldb_private::telemetry::ScopedDispatcher< Info > Struct Template Reference

Helper RAII class for collecting telemetry. More...

#include <Telemetry.h>

Public Member Functions

 ScopedDispatcher (Debugger *debugger=nullptr)
 ScopedDispatcher (llvm::unique_function< void(Info *info)> final_callback, Debugger *debugger=nullptr)
void SetDebugger (Debugger *debugger)
void DispatchOnExit (llvm::unique_function< void(Info *info)> final_callback)
void DispatchNow (llvm::unique_function< void(Info *info)> populate_fields_cb)
 ~ScopedDispatcher ()

Private Attributes

SteadyTimePoint m_start_time
llvm::unique_function< void(Info *info)> m_final_callback
Debuggerdebugger

Detailed Description

template<typename Info>
struct lldb_private::telemetry::ScopedDispatcher< Info >

Helper RAII class for collecting telemetry.

Definition at line 269 of file Telemetry.h.

Constructor & Destructor Documentation

◆ ScopedDispatcher() [1/2]

template<typename Info>
lldb_private::telemetry::ScopedDispatcher< Info >::ScopedDispatcher ( Debugger * debugger = nullptr)
inline

Definition at line 272 of file Telemetry.h.

References debugger, and m_start_time.

◆ ScopedDispatcher() [2/2]

template<typename Info>
lldb_private::telemetry::ScopedDispatcher< Info >::ScopedDispatcher ( llvm::unique_function< void(Info *info)> final_callback,
Debugger * debugger = nullptr )
inline

Definition at line 277 of file Telemetry.h.

References debugger, m_final_callback, and m_start_time.

◆ ~ScopedDispatcher()

template<typename Info>
lldb_private::telemetry::ScopedDispatcher< Info >::~ScopedDispatcher ( )
inline

Definition at line 312 of file Telemetry.h.

References DispatchNow(), and m_final_callback.

Member Function Documentation

◆ DispatchNow()

◆ DispatchOnExit()

template<typename Info>
void lldb_private::telemetry::ScopedDispatcher< Info >::DispatchOnExit ( llvm::unique_function< void(Info *info)> final_callback)
inline

◆ SetDebugger()

template<typename Info>
void lldb_private::telemetry::ScopedDispatcher< Info >::SetDebugger ( Debugger * debugger)
inline

Definition at line 285 of file Telemetry.h.

References debugger.

Referenced by lldb_private::Process::SetExitStatus().

Member Data Documentation

◆ debugger

template<typename Info>
Debugger* lldb_private::telemetry::ScopedDispatcher< Info >::debugger
private

Definition at line 320 of file Telemetry.h.

Referenced by DispatchNow(), ScopedDispatcher(), ScopedDispatcher(), and SetDebugger().

◆ m_final_callback

template<typename Info>
llvm::unique_function<void(Info *info)> lldb_private::telemetry::ScopedDispatcher< Info >::m_final_callback
private

Definition at line 319 of file Telemetry.h.

Referenced by DispatchOnExit(), ScopedDispatcher(), and ~ScopedDispatcher().

◆ m_start_time

template<typename Info>
SteadyTimePoint lldb_private::telemetry::ScopedDispatcher< Info >::m_start_time
private

Definition at line 318 of file Telemetry.h.

Referenced by DispatchNow(), ScopedDispatcher(), and ScopedDispatcher().


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