|
LLDB mainline
|
#include <Transport.h>
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< kReadBufferSize > | m_buffer |
| Static Protected Attributes inherited from lldb_private::transport::JSONRPCTransport< ProtocolDescriptor > | |
| static constexpr llvm::StringLiteral | kMessageSeparator |
Definition at line 83 of file Transport.h.
| 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().
|
virtualdefault |
|
delete |
Transport is not copyable.
References Transport().
|
overridevirtual |
Implements lldb_private::transport::JSONTransport< ProtocolDescriptor >.
Definition at line 21 of file Transport.cpp.
References m_log_callback.
|
delete |
References Transport().
|
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().
|
private |
Definition at line 102 of file Transport.h.
Referenced by Log(), and Transport().