#include "lldb/Core/ThreadedCommunication.h"
#include "lldb/Host/ThreadLauncher.h"
#include "lldb/Utility/Connection.h"
#include "lldb/Utility/ConstString.h"
#include "lldb/Utility/Event.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Listener.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/Status.h"
#include "llvm/Support/Compiler.h"
#include <algorithm>
#include <chrono>
#include <cstring>
#include <memory>
#include <shared_mutex>
#include <cerrno>
#include <cinttypes>
#include <cstdio>
usingnamespacelldb;
usingnamespacelldb_private;
llvm::StringRef ThreadedCommunication::GetStaticBroadcasterClass() { … }
ThreadedCommunication::ThreadedCommunication(const char *name)
: … { … }
ThreadedCommunication::~ThreadedCommunication() { … }
void ThreadedCommunication::Clear() { … }
ConnectionStatus ThreadedCommunication::Disconnect(Status *error_ptr) { … }
size_t ThreadedCommunication::Read(void *dst, size_t dst_len,
const Timeout<std::micro> &timeout,
ConnectionStatus &status,
Status *error_ptr) { … }
bool ThreadedCommunication::StartReadThread(Status *error_ptr) { … }
bool ThreadedCommunication::StopReadThread(Status *error_ptr) { … }
bool ThreadedCommunication::JoinReadThread(Status *error_ptr) { … }
size_t ThreadedCommunication::GetCachedBytes(void *dst, size_t dst_len) { … }
void ThreadedCommunication::AppendBytesToCache(const uint8_t *bytes, size_t len,
bool broadcast,
ConnectionStatus status) { … }
bool ThreadedCommunication::ReadThreadIsRunning() { … }
lldb::thread_result_t ThreadedCommunication::ReadThread() { … }
void ThreadedCommunication::SetReadThreadBytesReceivedCallback(
ReadThreadBytesReceived callback, void *callback_baton) { … }
void ThreadedCommunication::SynchronizeWithReadThread() { … }
void ThreadedCommunication::SetConnection(
std::unique_ptr<Connection> connection) { … }