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

Public Member Functions

 ~UdpTransport () override=default
 
ssize_t Read (void *data, size_t length) override
 
ssize_t Write (const void *data, size_t length) override
 
int Close () override
 
int Reset () override
 
- Public Member Functions inherited from Transport
 Transport ()=default
 
virtual ~Transport ()=default
 
virtual ssize_t Read (void *data, size_t len)=0
 
virtual ssize_t Write (const void *data, size_t len)=0
 
virtual int Close ()=0
 
virtual int Reset ()=0
 
virtual int WaitForDisconnect ()
 

Static Public Member Functions

static std::unique_ptr< UdpTransportNewTransport (std::unique_ptr< Socket > socket, std::string *error)
 

Private Member Functions

 UdpTransport (std::unique_ptr< Socket > socket)
 
bool InitializeProtocol (std::string *error)
 
ssize_t SendData (Id id, const uint8_t *tx_data, size_t tx_length, uint8_t *rx_data, size_t rx_length, int attempts, std::string *error)
 
ssize_t SendSinglePacketHelper (Header *header, const uint8_t *tx_data, size_t tx_length, uint8_t *rx_data, size_t rx_length, int attempts, std::string *error)
 
 DISALLOW_COPY_AND_ASSIGN (UdpTransport)
 

Private Attributes

std::unique_ptr< Socketsocket_
 
int sequence_ = -1
 
size_t max_data_length_ = kMinPacketSize - kHeaderSize
 
std::vector< uint8_t > rx_packet_
 

Constructor & Destructor Documentation

◆ ~UdpTransport()

udp::UdpTransport::~UdpTransport ( )
overridedefault

◆ UdpTransport()

udp::UdpTransport::UdpTransport ( std::unique_ptr< Socket socket)
inlineexplicitprivate

Member Function Documentation

◆ Close()

int udp::UdpTransport::Close ( )
overridevirtual

Implements Transport.

◆ DISALLOW_COPY_AND_ASSIGN()

udp::UdpTransport::DISALLOW_COPY_AND_ASSIGN ( UdpTransport  )
private

◆ InitializeProtocol()

bool udp::UdpTransport::InitializeProtocol ( std::string *  error)
private

◆ NewTransport()

std::unique_ptr< UdpTransport > udp::UdpTransport::NewTransport ( std::unique_ptr< Socket socket,
std::string *  error 
)
static

◆ Read()

ssize_t udp::UdpTransport::Read ( void *  data,
size_t  length 
)
overridevirtual

Implements Transport.

◆ Reset()

int udp::UdpTransport::Reset ( )
overridevirtual

Implements Transport.

◆ SendData()

ssize_t udp::UdpTransport::SendData ( Id  id,
const uint8_t *  tx_data,
size_t  tx_length,
uint8_t *  rx_data,
size_t  rx_length,
int  attempts,
std::string *  error 
)
private

◆ SendSinglePacketHelper()

ssize_t udp::UdpTransport::SendSinglePacketHelper ( Header header,
const uint8_t *  tx_data,
size_t  tx_length,
uint8_t *  rx_data,
size_t  rx_length,
int  attempts,
std::string *  error 
)
private

◆ Write()

ssize_t udp::UdpTransport::Write ( const void *  data,
size_t  length 
)
overridevirtual

Implements Transport.

Member Data Documentation

◆ max_data_length_

size_t udp::UdpTransport::max_data_length_ = kMinPacketSize - kHeaderSize
private

◆ rx_packet_

std::vector<uint8_t> udp::UdpTransport::rx_packet_
private

◆ sequence_

int udp::UdpTransport::sequence_ = -1
private

◆ socket_

std::unique_ptr<Socket> udp::UdpTransport::socket_
private

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