Android-cuttlefish cvd tool
Public Member Functions | Private Member Functions | Private Attributes | List of all members
cuttlefish::ConsoleForwarder Class Reference
Collaboration diagram for cuttlefish::ConsoleForwarder:
Collaboration graph
[legend]

Public Member Functions

 ConsoleForwarder (std::string console_path, SharedFD console_in, SharedFD console_out, SharedFD console_log, SharedFD kernel_log)
 
void StartServer ()
 

Private Member Functions

SharedFD OpenPTY ()
 
void EnqueueWrite (std::shared_ptr< std::vector< char > > buf_ptr, SharedFD fd)
 
void WriteLoop ()
 
void ReadLoop ()
 

Private Attributes

std::string console_path_
 
SharedFD console_in_
 
SharedFD console_out_
 
SharedFD console_log_
 
SharedFD kernel_log_
 
std::thread writer_thread_
 
std::mutex write_queue_mutex_
 
std::condition_variable condvar_
 
std::deque< std::pair< SharedFD, std::shared_ptr< std::vector< char > > > > write_queue_
 

Constructor & Destructor Documentation

◆ ConsoleForwarder()

cuttlefish::ConsoleForwarder::ConsoleForwarder ( std::string  console_path,
SharedFD  console_in,
SharedFD  console_out,
SharedFD  console_log,
SharedFD  kernel_log 
)
inline

Member Function Documentation

◆ EnqueueWrite()

void cuttlefish::ConsoleForwarder::EnqueueWrite ( std::shared_ptr< std::vector< char > >  buf_ptr,
SharedFD  fd 
)
inlineprivate

◆ OpenPTY()

SharedFD cuttlefish::ConsoleForwarder::OpenPTY ( )
inlineprivate

◆ ReadLoop()

void cuttlefish::ConsoleForwarder::ReadLoop ( )
inlineprivate

◆ StartServer()

void cuttlefish::ConsoleForwarder::StartServer ( )
inline

◆ WriteLoop()

void cuttlefish::ConsoleForwarder::WriteLoop ( )
inlineprivate

Member Data Documentation

◆ condvar_

std::condition_variable cuttlefish::ConsoleForwarder::condvar_
private

◆ console_in_

SharedFD cuttlefish::ConsoleForwarder::console_in_
private

◆ console_log_

SharedFD cuttlefish::ConsoleForwarder::console_log_
private

◆ console_out_

SharedFD cuttlefish::ConsoleForwarder::console_out_
private

◆ console_path_

std::string cuttlefish::ConsoleForwarder::console_path_
private

◆ kernel_log_

SharedFD cuttlefish::ConsoleForwarder::kernel_log_
private

◆ write_queue_

std::deque<std::pair<SharedFD, std::shared_ptr<std::vector<char> > > > cuttlefish::ConsoleForwarder::write_queue_
private

◆ write_queue_mutex_

std::mutex cuttlefish::ConsoleForwarder::write_queue_mutex_
private

◆ writer_thread_

std::thread cuttlefish::ConsoleForwarder::writer_thread_
private

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