LLDB mainline
JSONTransport.h File Reference
#include "lldb/Host/MainLoop.h"
#include "lldb/Host/MainLoopBase.h"
#include "lldb/Utility/IOObject.h"
#include "lldb/Utility/Status.h"
#include "lldb/lldb-forward.h"
#include "llvm/ADT/FunctionExtras.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/JSON.h"
#include "llvm/Support/raw_ostream.h"
#include <atomic>
#include <functional>
#include <mutex>
#include <optional>
#include <string>
#include <system_error>
#include <type_traits>
#include <utility>
#include <variant>
#include <vector>

Go to the source code of this file.

Classes

class  lldb_private::transport::TransportUnhandledContentsError
 An error to indicate that the transport reached EOF but there were still unhandled contents in the read buffer. More...
class  lldb_private::transport::InvalidParams
 An error to indicate that the parameters of a Req, Resp or Evt could not be deserialized. More...
class  lldb_private::transport::MethodNotFound
 An error to indicate that no handler was registered for a given method. More...
class  lldb_private::transport::JSONTransport< Proto >
 A transport is responsible for maintaining the connection to a client application, and reading/writing structured messages to it. More...
class  lldb_private::transport::JSONTransport< Proto >::MessageHandler
 Implemented to handle incoming messages. More...
class  lldb_private::transport::IOTransport< Proto >
 An IOTransport sends and receives messages using an IOObject. More...
class  lldb_private::transport::HTTPDelimitedJSONTransport< Proto >
 A transport class for JSON with a HTTP header. More...
class  lldb_private::transport::JSONRPCTransport< Proto >
 A transport class for JSON RPC. More...
struct  lldb_private::transport::detail::request_t< R, P >
struct  lldb_private::transport::detail::request_t< R, void >
struct  lldb_private::transport::detail::event_t< P >
struct  lldb_private::transport::detail::event_t< void >
class  lldb_private::transport::Binder< Proto >
 Binder collects a table of functions that handle calls. More...
class  lldb_private::transport::Binder< Proto >::ReplyOnce
 Function object to reply to a call. More...

Namespaces

namespace  lldb_private
 A class that represents a running process on the host machine.
namespace  lldb_private::transport
namespace  lldb_private::transport::detail

Typedefs

template<typename T>
using lldb_private::transport::Reply
 A handler for the response to an outgoing request.
template<typename R, typename P>
using lldb_private::transport::OutgoingRequest = typename detail::request_t<R, P>::type
template<typename P>
using lldb_private::transport::OutgoingEvent = typename detail::event_t<P>::type
 A function to send an outgoing event.