LLDB mainline
lldb_protocol::mcp::Transport Class Referencefinal

#include <Transport.h>

Inheritance diagram for lldb_protocol::mcp::Transport:
[legend]

Public Member Functions

 Transport (lldb_private::MainLoop &loop, lldb::IOObjectSP in, lldb::IOObjectSP out, LogCallback log_callback={})
virtual ~Transport ()=default
void Log (llvm::StringRef message) override
llvm::Error ReplyWithParseError (llvm::StringRef raw_message, llvm::StringRef reason) override
 Sends an error response for a message that failed to parse, described by reason.
 Transport (const Transport &)=delete
 Transport is not copyable.
void operator= (const Transport &)=delete
Public Member Functions inherited from lldb_private::transport::IOTransport< ProtocolDescriptor >
 IOTransport (MainLoop &loop, lldb::IOObjectSP in, lldb::IOObjectSP out)
llvm::Error Send (const typename ProtocolDescriptor::Evt &evt) override
llvm::Error RegisterMessageHandler (MessageHandler &handler) override
 RegisterMessageHandler registers the Transport with the given MainLoop and handles any incoming messages using the given MessageHandler.
Public Member Functions inherited from lldb_private::transport::JSONTransport< ProtocolDescriptor >
virtual ~JSONTransport ()=default
virtual llvm::Error Send (const Evt &)=0
 Sends an event, a message that does not require a response.
virtual llvm::Error Send (const Req &)=0
 Sends a request, a message that expects a response.
virtual llvm::Error Send (const Resp &)=0
 Sends a response to a specific request.
virtual llvm::Error RegisterMessageHandler (MessageHandler &handler)=0
 RegisterMessageHandler registers the Transport with the given MainLoop and handles any incoming messages using the given MessageHandler.

Private Attributes

LogCallback m_log_callback

Additional Inherited Members

Public Types inherited from lldb_private::transport::IOTransport< ProtocolDescriptor >
using Message
using MessageHandler
Public Types inherited from lldb_private::transport::JSONTransport< ProtocolDescriptor >
using Req
using Resp
using Evt
using Message
Static Public Attributes inherited from lldb_private::transport::IOTransport< ProtocolDescriptor >
static constexpr size_t kReadBufferSize
 Public for testing purposes, otherwise this should be an implementation detail.
Protected Member Functions inherited from lldb_private::transport::JSONRPCTransport< ProtocolDescriptor >
std::string Encode (const llvm::json::Value &message) override
llvm::Expected< std::vector< std::string > > Parse () override
Protected Member Functions inherited from lldb_private::transport::IOTransport< ProtocolDescriptor >
llvm::Error Write (const llvm::json::Value &message)
Protected Member Functions inherited from lldb_private::transport::JSONTransport< ProtocolDescriptor >
auto Logv (const char *Fmt, Ts &&...Vals)
Protected Attributes inherited from lldb_private::transport::IOTransport< ProtocolDescriptor >
llvm::SmallString< kReadBufferSizem_buffer
Static Protected Attributes inherited from lldb_private::transport::JSONRPCTransport< ProtocolDescriptor >
static constexpr llvm::StringLiteral kMessageSeparator

Detailed Description

Definition at line 83 of file Transport.h.

Constructor & Destructor Documentation

◆ Transport() [1/2]

Transport::Transport ( lldb_private::MainLoop & loop,
lldb::IOObjectSP in,
lldb::IOObjectSP out,
LogCallback log_callback = {} )

Definition at line 16 of file Transport.cpp.

References m_log_callback.

Referenced by operator=(), and Transport().

◆ ~Transport()

virtual lldb_protocol::mcp::Transport::~Transport ( )
virtualdefault

◆ Transport() [2/2]

lldb_protocol::mcp::Transport::Transport ( const Transport & )
delete

Transport is not copyable.

References Transport().

Member Function Documentation

◆ Log()

void Transport::Log ( llvm::StringRef message)
overridevirtual

◆ operator=()

void lldb_protocol::mcp::Transport::operator= ( const Transport & )
delete

References Transport().

◆ ReplyWithParseError()

llvm::Error Transport::ReplyWithParseError ( llvm::StringRef raw_message,
llvm::StringRef reason )
overridevirtual

Sends an error response for a message that failed to parse, described by reason.

Sends nothing if no request id can be recovered from it, since there is then no request to respond to.

Reimplemented from lldb_private::transport::JSONTransport< ProtocolDescriptor >.

Definition at line 26 of file Transport.cpp.

References lldb_protocol::mcp::eErrorCodeInvalidRequest, and lldb_private::transport::IOTransport< ProtocolDescriptor >::Send().

Member Data Documentation

◆ m_log_callback

LogCallback lldb_protocol::mcp::Transport::m_log_callback
private

Definition at line 102 of file Transport.h.

Referenced by Log(), and Transport().


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