LLDB mainline
lldb_private::MainLoopWindows Class Reference

#include <MainLoopWindows.h>

Inheritance diagram for lldb_private::MainLoopWindows:
[legend]

Classes

struct  FdInfo
class  IOEvent

Public Types

using IOEventUP = std::unique_ptr<IOEvent>
Public Types inherited from lldb_private::MainLoopBase
using TimePoint
typedef std::unique_ptr< ReadHandleReadHandleUP
typedef std::function< void(MainLoopBase &)> Callback

Public Member Functions

 MainLoopWindows ()
 ~MainLoopWindows () override
ReadHandleUP RegisterReadObject (const lldb::IOObjectSP &object_sp, const Callback &callback, Status &error) override
Status Run () override
Public Member Functions inherited from lldb_private::MainLoopBase
 MainLoopBase ()
virtual ~MainLoopBase ()=default
void AddPendingCallback (const Callback &callback)
void AddCallback (const Callback &callback, std::chrono::nanoseconds delay)
void AddCallback (const Callback &callback, TimePoint point)
virtual void RequestTermination ()

Protected Member Functions

void UnregisterReadObject (IOObject::WaitableHandle handle) override
void Interrupt () override
Protected Member Functions inherited from lldb_private::MainLoopBase
ReadHandleUP CreateReadHandle (const lldb::IOObjectSP &object_sp)
void ProcessCallbacks ()
std::optional< TimePointGetNextWakeupTime ()

Private Member Functions

llvm::Expected< size_t > Poll ()

Private Attributes

llvm::DenseMap< IOObject::WaitableHandle, FdInfom_read_fds
void * m_interrupt_event

Additional Inherited Members

Protected Attributes inherited from lldb_private::MainLoopBase
std::mutex m_callback_mutex
std::priority_queue< std::pair< TimePoint, Callback >, std::vector< std::pair< TimePoint, Callback > >, llvm::on_first< std::greater< TimePoint > > > m_callbacks
bool m_terminate_request: 1

Detailed Description

Definition at line 25 of file MainLoopWindows.h.

Member Typedef Documentation

◆ IOEventUP

Definition at line 48 of file MainLoopWindows.h.

Constructor & Destructor Documentation

◆ MainLoopWindows()

MainLoopWindows::MainLoopWindows ( )

Definition at line 174 of file MainLoopWindows.cpp.

References m_interrupt_event.

◆ ~MainLoopWindows()

MainLoopWindows::~MainLoopWindows ( )
override

Definition at line 179 of file MainLoopWindows.cpp.

References m_interrupt_event, m_read_fds, and UNUSED_IF_ASSERT_DISABLED.

Member Function Documentation

◆ Interrupt()

void MainLoopWindows::Interrupt ( )
overrideprotectedvirtual

Implements lldb_private::MainLoopBase.

Definition at line 279 of file MainLoopWindows.cpp.

References m_interrupt_event.

◆ Poll()

llvm::Expected< size_t > MainLoopWindows::Poll ( )
private

◆ RegisterReadObject()

◆ Run()

◆ UnregisterReadObject()

void MainLoopWindows::UnregisterReadObject ( IOObject::WaitableHandle handle)
overrideprotectedvirtual

Implements lldb_private::MainLoopBase.

Definition at line 250 of file MainLoopWindows.cpp.

References m_read_fds.

Member Data Documentation

◆ m_interrupt_event

void* lldb_private::MainLoopWindows::m_interrupt_event
private

Definition at line 63 of file MainLoopWindows.h.

Referenced by Interrupt(), MainLoopWindows(), Poll(), Run(), and ~MainLoopWindows().

◆ m_read_fds

llvm::DenseMap<IOObject::WaitableHandle, FdInfo> lldb_private::MainLoopWindows::m_read_fds
private

The documentation for this class was generated from the following files: