STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
daq_comms::transport::TCPSocket Class Reference

TCP socket implementation (for Elodin connection). More...

#include <NetworkSocket.hpp>

Inheritance diagram for daq_comms::transport::TCPSocket:
[legend]
Collaboration diagram for daq_comms::transport::TCPSocket:
[legend]

Public Member Functions

 TCPSocket (const std::string &remote_address, uint16_t remote_port)
 Create TCP socket connected to remote address.
 ~TCPSocket () override
ssize_t receive (uint8_t *buffer, size_t max_size) override
 Receive data from the socket.
ssize_t send (const uint8_t *data, size_t size) override
 Send data through the socket.
bool is_valid () const override
 Check if socket is valid and ready.
std::string last_error () const override
 Get the last error message.
Public Member Functions inherited from daq_comms::transport::NetworkSocket
virtual ~NetworkSocket ()=default

Private Member Functions

void setup_socket (const std::string &remote_address, uint16_t remote_port)

Private Attributes

int socket_fd_
std::string last_error_

Detailed Description

TCP socket implementation (for Elodin connection).

Definition at line 116 of file NetworkSocket.hpp.

Constructor & Destructor Documentation

◆ TCPSocket()

daq_comms::transport::TCPSocket::TCPSocket ( const std::string & remote_address,
uint16_t remote_port )

Create TCP socket connected to remote address.

Parameters
remote_addressRemote address to connect to
remote_portRemote port to connect to

Definition at line 218 of file NetworkSocket.cpp.

References setup_socket(), and socket_fd_.

◆ ~TCPSocket()

daq_comms::transport::TCPSocket::~TCPSocket ( )
override

Definition at line 222 of file NetworkSocket.cpp.

References socket_fd_.

Member Function Documentation

◆ is_valid()

bool daq_comms::transport::TCPSocket::is_valid ( ) const
overridevirtual

Check if socket is valid and ready.

Implements daq_comms::transport::NetworkSocket.

Definition at line 295 of file NetworkSocket.cpp.

References socket_fd_.

◆ last_error()

std::string daq_comms::transport::TCPSocket::last_error ( ) const
overridevirtual

Get the last error message.

Implements daq_comms::transport::NetworkSocket.

Definition at line 299 of file NetworkSocket.cpp.

References last_error_.

◆ receive()

ssize_t daq_comms::transport::TCPSocket::receive ( uint8_t * buffer,
size_t max_size )
overridevirtual

Receive data from the socket.

Parameters
bufferBuffer to store received data
max_sizeMaximum bytes to receive
Returns
Number of bytes received, or -1 on error

Implements daq_comms::transport::NetworkSocket.

Definition at line 258 of file NetworkSocket.cpp.

References last_error_, and socket_fd_.

◆ send()

ssize_t daq_comms::transport::TCPSocket::send ( const uint8_t * data,
size_t size )
overridevirtual

Send data through the socket.

Parameters
dataData to send
sizeNumber of bytes to send
Returns
Number of bytes sent, or -1 on error

Implements daq_comms::transport::NetworkSocket.

Definition at line 278 of file NetworkSocket.cpp.

References last_error_, send(), and socket_fd_.

Referenced by send().

◆ setup_socket()

void daq_comms::transport::TCPSocket::setup_socket ( const std::string & remote_address,
uint16_t remote_port )
private

Definition at line 228 of file NetworkSocket.cpp.

References last_error_, and socket_fd_.

Referenced by TCPSocket().

Member Data Documentation

◆ last_error_

std::string daq_comms::transport::TCPSocket::last_error_
private

Definition at line 134 of file NetworkSocket.hpp.

Referenced by last_error(), receive(), send(), and setup_socket().

◆ socket_fd_

int daq_comms::transport::TCPSocket::socket_fd_
private

Definition at line 133 of file NetworkSocket.hpp.

Referenced by is_valid(), receive(), send(), setup_socket(), TCPSocket(), and ~TCPSocket().


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