LLDB mainline
|
#include <ProtocolServerMCP.h>
Public Member Functions | |
ProtocolServerMCP () | |
virtual | ~ProtocolServerMCP () override |
virtual llvm::Error | Start (ProtocolServer::Connection connection) override |
virtual llvm::Error | Stop () override |
llvm::StringRef | GetPluginName () override |
Socket * | GetSocket () 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 | |
PluginInterface & | operator= (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 ProtocolServer * | GetOrCreate (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< Socket > | m_listener |
std::vector< ReadHandleUP > | m_listen_handlers |
std::map< lldb_protocol::mcp::MCPTransport *, std::tuple< ServerUP, ReadHandleUP, TransportUP > > | m_instances |
Definition at line 25 of file ProtocolServerMCP.h.
Definition at line 26 of file ProtocolServerMCP.h.
|
private |
Definition at line 28 of file ProtocolServerMCP.h.
|
private |
Definition at line 27 of file ProtocolServerMCP.h.
ProtocolServerMCP::ProtocolServerMCP | ( | ) |
Definition at line 31 of file ProtocolServerMCP.cpp.
References lldb_private::ProtocolServer::ProtocolServer(), and ProtocolServerMCP().
Referenced by ProtocolServerMCP().
|
overridevirtual |
Definition at line 33 of file ProtocolServerMCP.cpp.
References Stop().
|
private |
Definition at line 67 of file ProtocolServerMCP.cpp.
References Extend(), lldb_private::GetLog(), lldb_private::Host, kName, kVersion, LLDB_LOG, LLDB_LOG_ERROR, m_client_count, m_instances, and m_loop.
Referenced by Start().
|
static |
Definition at line 46 of file ProtocolServerMCP.cpp.
Referenced by Initialize(), and Terminate().
|
protectedvirtual |
Definition at line 54 of file ProtocolServerMCP.cpp.
References lldb_protocol::mcp::Server::AddNotificationHandler(), lldb_protocol::mcp::Server::AddResourceProvider(), lldb_protocol::mcp::Server::AddTool(), lldb_private::GetLog(), lldb_private::Host, and LLDB_LOG.
Referenced by AcceptCallback().
|
static |
Definition at line 50 of file ProtocolServerMCP.cpp.
Referenced by Initialize().
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 45 of file ProtocolServerMCP.h.
References GetPluginNameStatic().
|
inlinestatic |
Definition at line 40 of file ProtocolServerMCP.h.
Referenced by GetPluginName(), and Initialize().
|
inlineoverridevirtual |
Implements lldb_private::ProtocolServer.
Definition at line 47 of file ProtocolServerMCP.h.
References m_listener.
|
static |
Definition at line 35 of file ProtocolServerMCP.cpp.
References CreateInstance(), GetPluginDescriptionStatic(), GetPluginNameStatic(), and lldb_private::PluginManager::RegisterPlugin().
|
overridevirtual |
Implements lldb_private::ProtocolServer.
Definition at line 99 of file ProtocolServerMCP.cpp.
References AcceptCallback(), lldb_private::Socket::Create(), createStringError(), error(), lldb_private::Status::Fail(), m_listen_handlers, m_listener, m_loop, m_loop_thread, m_mutex, m_running, m_server_info_handle, lldb_private::ProtocolServer::Connection::name, lldb_private::ProtocolServer::Connection::protocol, lldb_private::Status::takeError(), and lldb_protocol::mcp::ServerInfo::Write().
|
overridevirtual |
Implements lldb_private::ProtocolServer.
Definition at line 142 of file ProtocolServerMCP.cpp.
References createStringError(), m_instances, m_listen_handlers, m_loop, m_loop_thread, m_mutex, m_running, m_server_info_handle, and lldb_private::MainLoopBase::RequestTermination().
Referenced by ~ProtocolServerMCP().
|
static |
Definition at line 40 of file ProtocolServerMCP.cpp.
References CreateInstance(), error(), lldb_private::GetLog(), lldb_private::Host, LLDB_LOG_ERROR, lldb_private::ProtocolServer::Terminate(), and lldb_private::PluginManager::UnregisterPlugin().
|
private |
Definition at line 63 of file ProtocolServerMCP.h.
Referenced by AcceptCallback().
|
private |
Definition at line 70 of file ProtocolServerMCP.h.
Referenced by AcceptCallback(), and Stop().
|
private |
Definition at line 67 of file ProtocolServerMCP.h.
|
private |
Definition at line 65 of file ProtocolServerMCP.h.
Referenced by GetSocket(), and Start().
|
private |
Definition at line 60 of file ProtocolServerMCP.h.
Referenced by AcceptCallback(), Start(), and Stop().
|
private |
Definition at line 61 of file ProtocolServerMCP.h.
|
private |
Definition at line 62 of file ProtocolServerMCP.h.
|
private |
Definition at line 57 of file ProtocolServerMCP.h.
|
private |
Definition at line 59 of file ProtocolServerMCP.h.