Android-cuttlefish cvd tool
Public Member Functions | Protected Attributes | List of all members
cuttlefish::VsockConnection Class Referenceabstract

#include <vsock_connection.h>

Inheritance diagram for cuttlefish::VsockConnection:
Inheritance graph
[legend]
Collaboration diagram for cuttlefish::VsockConnection:
Collaboration graph
[legend]

Public Member Functions

virtual ~VsockConnection ()
 
virtual bool Connect (unsigned int port, unsigned int cid, std::optional< int > vhost_user_vsock_cid)=0
 
virtual void Disconnect ()
 
std::future< bool > ConnectAsync (unsigned int port, unsigned int cid, std::optional< int > vhost_user_vsock_cid)
 
void SetDisconnectCallback (std::function< void()> callback)
 
bool IsConnected_Unguarded ()
 
bool IsConnected ()
 
bool DataAvailable ()
 
int32_t Read ()
 
bool Read (std::vector< char > &data)
 
std::vector< char > Read (size_t size)
 
std::future< std::vector< char > > ReadAsync (size_t size)
 
bool ReadMessage (std::vector< char > &data)
 
std::vector< char > ReadMessage ()
 
std::future< std::vector< char > > ReadMessageAsync ()
 
Json::Value ReadJsonMessage ()
 
std::future< Json::Value > ReadJsonMessageAsync ()
 
bool Write (int32_t data)
 
bool Write (const char *data, unsigned int size)
 
bool Write (const std::vector< char > &data)
 
bool WriteMessage (const std::string &data)
 
bool WriteMessage (const std::vector< char > &data)
 
bool WriteMessage (const Json::Value &data)
 
bool WriteStrides (const char *data, unsigned int size, unsigned int num_strides, int stride_size)
 

Protected Attributes

std::recursive_mutex read_mutex_
 
std::recursive_mutex write_mutex_
 
std::function< void()> disconnect_callback_
 
SharedFD fd_
 

Constructor & Destructor Documentation

◆ ~VsockConnection()

cuttlefish::VsockConnection::~VsockConnection ( )
virtual

Member Function Documentation

◆ Connect()

virtual bool cuttlefish::VsockConnection::Connect ( unsigned int  port,
unsigned int  cid,
std::optional< int >  vhost_user_vsock_cid 
)
pure virtual

◆ ConnectAsync()

std::future< bool > cuttlefish::VsockConnection::ConnectAsync ( unsigned int  port,
unsigned int  cid,
std::optional< int >  vhost_user_vsock_cid 
)

◆ DataAvailable()

bool cuttlefish::VsockConnection::DataAvailable ( )

◆ Disconnect()

void cuttlefish::VsockConnection::Disconnect ( )
virtual

◆ IsConnected()

bool cuttlefish::VsockConnection::IsConnected ( )

◆ IsConnected_Unguarded()

bool cuttlefish::VsockConnection::IsConnected_Unguarded ( )

◆ Read() [1/3]

int32_t cuttlefish::VsockConnection::Read ( )

◆ Read() [2/3]

std::vector< char > cuttlefish::VsockConnection::Read ( size_t  size)

◆ Read() [3/3]

bool cuttlefish::VsockConnection::Read ( std::vector< char > &  data)

◆ ReadAsync()

std::future< std::vector< char > > cuttlefish::VsockConnection::ReadAsync ( size_t  size)

◆ ReadJsonMessage()

Json::Value cuttlefish::VsockConnection::ReadJsonMessage ( )

◆ ReadJsonMessageAsync()

std::future< Json::Value > cuttlefish::VsockConnection::ReadJsonMessageAsync ( )

◆ ReadMessage() [1/2]

std::vector< char > cuttlefish::VsockConnection::ReadMessage ( )

◆ ReadMessage() [2/2]

bool cuttlefish::VsockConnection::ReadMessage ( std::vector< char > &  data)

◆ ReadMessageAsync()

std::future< std::vector< char > > cuttlefish::VsockConnection::ReadMessageAsync ( )

◆ SetDisconnectCallback()

void cuttlefish::VsockConnection::SetDisconnectCallback ( std::function< void()>  callback)

◆ Write() [1/3]

bool cuttlefish::VsockConnection::Write ( const char *  data,
unsigned int  size 
)

◆ Write() [2/3]

bool cuttlefish::VsockConnection::Write ( const std::vector< char > &  data)

◆ Write() [3/3]

bool cuttlefish::VsockConnection::Write ( int32_t  data)

◆ WriteMessage() [1/3]

bool cuttlefish::VsockConnection::WriteMessage ( const Json::Value &  data)

◆ WriteMessage() [2/3]

bool cuttlefish::VsockConnection::WriteMessage ( const std::string &  data)

◆ WriteMessage() [3/3]

bool cuttlefish::VsockConnection::WriteMessage ( const std::vector< char > &  data)

◆ WriteStrides()

bool cuttlefish::VsockConnection::WriteStrides ( const char *  data,
unsigned int  size,
unsigned int  num_strides,
int  stride_size 
)

Member Data Documentation

◆ disconnect_callback_

std::function<void()> cuttlefish::VsockConnection::disconnect_callback_
protected

◆ fd_

SharedFD cuttlefish::VsockConnection::fd_
protected

◆ read_mutex_

std::recursive_mutex cuttlefish::VsockConnection::read_mutex_
protected

◆ write_mutex_

std::recursive_mutex cuttlefish::VsockConnection::write_mutex_
protected

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