Go to the documentation of this file.
22 : m_opaque(new
Communication(broadcaster_name)), m_opaque_owned(true) {
35 return this->
operator bool();
37 SBCommunication::operator bool()
const {
40 return m_opaque !=
nullptr;
79 std::make_unique<ConnectionFileDescriptor>(fd, owns_fd));
107 size_t bytes_read = 0;
110 : std::chrono::microseconds(timeout_usec);
112 bytes_read =
m_opaque->
Read(dst, dst_len, timeout, status,
nullptr);
123 size_t bytes_written = 0;
125 bytes_written =
m_opaque->
Write(src, src_len, status,
nullptr);
129 return bytes_written;
172 return Communication::GetStaticBroadcasterClass().AsCString();
bool ReadThreadIsRunning()
Checks if there is a currently running read thread.
void SetCloseOnEOF(bool b)
lldb::ConnectionStatus Disconnect()
static void ReadThreadBytesReceived(void *baton, const void *src, size_t src_len)
#define LLDB_INSTRUMENT()
size_t Write(const void *src, size_t src_len, lldb::ConnectionStatus &status)
@ eConnectionStatusNoConnection
No connection.
bool ReadThreadIsRunning()
void SetConnection(std::unique_ptr< Connection > connection)
Sets the connection that it to be used by this class.
lldb_private::Communication * m_opaque
virtual bool StartReadThread(Status *error_ptr=nullptr)
Starts a read thread whose sole purpose it to read bytes from the current connection.
ConnectionStatus
Connection Status Types.
void SetReadThreadBytesReceivedCallback(ReadThreadBytesReceived callback, void *callback_baton)
virtual bool StopReadThread(Status *error_ptr=nullptr)
Stops the read thread by cancelling it.
size_t Write(const void *src, size_t src_len, lldb::ConnectionStatus &status, Status *error_ptr)
The actual write function that attempts to write to the communications protocol.
lldb::ConnectionStatus Connect(const char *url)
lldb::ConnectionStatus Disconnect(Status *error_ptr=nullptr)
Disconnect the communications connection if one is currently connected.
bool HasConnection() const
size_t Read(void *dst, size_t dst_len, const Timeout< std::micro > &timeout, lldb::ConnectionStatus &status, Status *error_ptr)
Read bytes from the current connection.
size_t Read(void *dst, size_t dst_len, uint32_t timeout_usec, lldb::ConnectionStatus &status)
void SetCloseOnEOF(bool b)
static const char * GetBroadcasterClass()
bool IsConnected() const
Check if the connection is valid.
bool GetCloseOnEOF() const
@ eConnectionStatusSuccess
Success.
A class that represents a running process on the host machine.
#define LLDB_INSTRUMENT_VA(...)
@ eConnectionStatusLostConnection
Lost connection while connected to a valid connection.
lldb::ConnectionStatus AdoptFileDesriptor(int fd, bool owns_fd)
bool SetReadThreadBytesReceivedCallback(ReadThreadBytesReceived callback, void *callback_baton)
lldb::SBBroadcaster GetBroadcaster()
lldb::ConnectionStatus Connect(const char *url, Status *error_ptr)
Connect using the current connection by passing url to its connect function.