Android-cuttlefish cvd tool
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
cuttlefish::ClientSocket Class Reference

#include <tcp_socket.h>

Collaboration diagram for cuttlefish::ClientSocket:
Collaboration graph
[legend]

Public Member Functions

 ClientSocket (ClientSocket &&other)
 
ClientSocketoperator= (ClientSocket &&other)
 
 ClientSocket (int port)
 
 ClientSocket (const ClientSocket &)=delete
 
ClientSocketoperator= (const ClientSocket &)=delete
 
Message Recv (std::size_t length)
 
Message RecvAny (std::size_t length)
 
ssize_t SendNoSignal (const std::uint8_t *data, std::size_t size)
 
ssize_t SendNoSignal (const Message &message)
 
template<std::size_t N>
ssize_t SendNoSignal (const std::uint8_t(&data)[N])
 
bool closed () const
 

Private Member Functions

 ClientSocket (SharedFD fd)
 

Private Attributes

SharedFD fd_
 
bool other_side_closed_ {}
 
std::mutex closed_lock_
 
std::mutex send_lock_
 

Friends

class ServerSocket
 

Constructor & Destructor Documentation

◆ ClientSocket() [1/4]

cuttlefish::ClientSocket::ClientSocket ( ClientSocket &&  other)
inline

◆ ClientSocket() [2/4]

cuttlefish::ClientSocket::ClientSocket ( int  port)

◆ ClientSocket() [3/4]

cuttlefish::ClientSocket::ClientSocket ( const ClientSocket )
delete

◆ ClientSocket() [4/4]

cuttlefish::ClientSocket::ClientSocket ( SharedFD  fd)
inlineexplicitprivate

Member Function Documentation

◆ closed()

bool cuttlefish::ClientSocket::closed ( ) const

◆ operator=() [1/2]

ClientSocket & cuttlefish::ClientSocket::operator= ( ClientSocket &&  other)
inline

◆ operator=() [2/2]

ClientSocket & cuttlefish::ClientSocket::operator= ( const ClientSocket )
delete

◆ Recv()

Message cuttlefish::ClientSocket::Recv ( std::size_t  length)

◆ RecvAny()

Message cuttlefish::ClientSocket::RecvAny ( std::size_t  length)

◆ SendNoSignal() [1/3]

ssize_t cuttlefish::ClientSocket::SendNoSignal ( const Message message)

◆ SendNoSignal() [2/3]

ssize_t cuttlefish::ClientSocket::SendNoSignal ( const std::uint8_t *  data,
std::size_t  size 
)

◆ SendNoSignal() [3/3]

template<std::size_t N>
ssize_t cuttlefish::ClientSocket::SendNoSignal ( const std::uint8_t(&)  data[N])
inline

Friends And Related Function Documentation

◆ ServerSocket

friend class ServerSocket
friend

Member Data Documentation

◆ closed_lock_

std::mutex cuttlefish::ClientSocket::closed_lock_
mutableprivate

◆ fd_

SharedFD cuttlefish::ClientSocket::fd_
private

◆ other_side_closed_

bool cuttlefish::ClientSocket::other_side_closed_ {}
private

◆ send_lock_

std::mutex cuttlefish::ClientSocket::send_lock_
private

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