LLDB mainline
lldb_private::mcp::ProtocolServerMCP Class Reference

#include <ProtocolServerMCP.h>

Inheritance diagram for lldb_private::mcp::ProtocolServerMCP:
[legend]

Public Member Functions

 ProtocolServerMCP ()
virtual ~ProtocolServerMCP () override
virtual llvm::Error Start (ProtocolServer::Connection connection) override
virtual llvm::Error Stop () override
llvm::StringRef GetPluginName () override
SocketGetSocket () const override
Public Member Functions inherited from lldb_private::ProtocolServer
 ProtocolServer ()=default
virtual ~ProtocolServer ()=default
Public Member Functions inherited from lldb_private::PluginInterface
 PluginInterface ()=default
virtual ~PluginInterface ()=default
 PluginInterface (const PluginInterface &)=delete
PluginInterfaceoperator= (const PluginInterface &)=delete

Static Public Member Functions

static void Initialize ()
static void Terminate ()
static llvm::StringRef GetPluginNameStatic ()
static llvm::StringRef GetPluginDescriptionStatic ()
static lldb::ProtocolServerUP CreateInstance ()
Static Public Member Functions inherited from lldb_private::ProtocolServer
static ProtocolServerGetOrCreate (llvm::StringRef name)
static llvm::Error Terminate ()
static std::vector< llvm::StringRef > GetSupportedProtocols ()

Protected Member Functions

virtual void Extend (lldb_protocol::mcp::Server &server) const

Private Types

using ReadHandleUP = MainLoopBase::ReadHandleUP
using TransportUP = std::unique_ptr<lldb_protocol::mcp::MCPTransport>
using ServerUP = std::unique_ptr<lldb_protocol::mcp::Server>

Private Member Functions

void AcceptCallback (std::unique_ptr< Socket > socket)

Private Attributes

bool m_running = false
lldb_protocol::mcp::ServerInfoHandle m_server_info_handle
lldb_private::MainLoop m_loop
std::thread m_loop_thread
std::mutex m_mutex
size_t m_client_count = 0
std::unique_ptr< Socketm_listener
std::vector< ReadHandleUPm_listen_handlers
std::map< lldb_protocol::mcp::MCPTransport *, std::tuple< ServerUP, ReadHandleUP, TransportUP > > m_instances

Detailed Description

Definition at line 25 of file ProtocolServerMCP.h.

Member Typedef Documentation

◆ ReadHandleUP

◆ ServerUP

Definition at line 28 of file ProtocolServerMCP.h.

◆ TransportUP

Constructor & Destructor Documentation

◆ ProtocolServerMCP()

ProtocolServerMCP::ProtocolServerMCP ( )

◆ ~ProtocolServerMCP()

ProtocolServerMCP::~ProtocolServerMCP ( )
overridevirtual

Definition at line 33 of file ProtocolServerMCP.cpp.

References Stop().

Member Function Documentation

◆ AcceptCallback()

void ProtocolServerMCP::AcceptCallback ( std::unique_ptr< Socket > socket)
private

◆ CreateInstance()

lldb::ProtocolServerUP ProtocolServerMCP::CreateInstance ( )
static

Definition at line 46 of file ProtocolServerMCP.cpp.

Referenced by Initialize(), and Terminate().

◆ Extend()

◆ GetPluginDescriptionStatic()

llvm::StringRef ProtocolServerMCP::GetPluginDescriptionStatic ( )
static

Definition at line 50 of file ProtocolServerMCP.cpp.

Referenced by Initialize().

◆ GetPluginName()

llvm::StringRef lldb_private::mcp::ProtocolServerMCP::GetPluginName ( )
inlineoverridevirtual

Implements lldb_private::PluginInterface.

Definition at line 45 of file ProtocolServerMCP.h.

References GetPluginNameStatic().

◆ GetPluginNameStatic()

llvm::StringRef lldb_private::mcp::ProtocolServerMCP::GetPluginNameStatic ( )
inlinestatic

Definition at line 40 of file ProtocolServerMCP.h.

Referenced by GetPluginName(), and Initialize().

◆ GetSocket()

Socket * lldb_private::mcp::ProtocolServerMCP::GetSocket ( ) const
inlineoverridevirtual

Implements lldb_private::ProtocolServer.

Definition at line 47 of file ProtocolServerMCP.h.

References m_listener.

◆ Initialize()

void ProtocolServerMCP::Initialize ( )
static

◆ Start()

◆ Stop()

llvm::Error ProtocolServerMCP::Stop ( )
overridevirtual

◆ Terminate()

Member Data Documentation

◆ m_client_count

size_t lldb_private::mcp::ProtocolServerMCP::m_client_count = 0
private

Definition at line 63 of file ProtocolServerMCP.h.

Referenced by AcceptCallback().

◆ m_instances

std::map<lldb_protocol::mcp::MCPTransport *, std::tuple<ServerUP, ReadHandleUP, TransportUP> > lldb_private::mcp::ProtocolServerMCP::m_instances
private

Definition at line 70 of file ProtocolServerMCP.h.

Referenced by AcceptCallback(), and Stop().

◆ m_listen_handlers

std::vector<ReadHandleUP> lldb_private::mcp::ProtocolServerMCP::m_listen_handlers
private

Definition at line 67 of file ProtocolServerMCP.h.

Referenced by Start(), and Stop().

◆ m_listener

std::unique_ptr<Socket> lldb_private::mcp::ProtocolServerMCP::m_listener
private

Definition at line 65 of file ProtocolServerMCP.h.

Referenced by GetSocket(), and Start().

◆ m_loop

lldb_private::MainLoop lldb_private::mcp::ProtocolServerMCP::m_loop
private

Definition at line 60 of file ProtocolServerMCP.h.

Referenced by AcceptCallback(), Start(), and Stop().

◆ m_loop_thread

std::thread lldb_private::mcp::ProtocolServerMCP::m_loop_thread
private

Definition at line 61 of file ProtocolServerMCP.h.

Referenced by Start(), and Stop().

◆ m_mutex

std::mutex lldb_private::mcp::ProtocolServerMCP::m_mutex
private

Definition at line 62 of file ProtocolServerMCP.h.

Referenced by Start(), and Stop().

◆ m_running

bool lldb_private::mcp::ProtocolServerMCP::m_running = false
private

Definition at line 57 of file ProtocolServerMCP.h.

Referenced by Start(), and Stop().

◆ m_server_info_handle

lldb_protocol::mcp::ServerInfoHandle lldb_private::mcp::ProtocolServerMCP::m_server_info_handle
private

Definition at line 59 of file ProtocolServerMCP.h.

Referenced by Start(), and Stop().


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