![]() |
F´ Flight Software - C/C++ Documentation
devel
A framework for building embedded system applications to NASA flight quality standards.
|
Helper for setting up Tcp using Berkeley sockets as a client. More...
#include <Drv/Ip/TcpClientSocket.hpp>
Public Member Functions | |
TcpClientSocket () | |
Constructor for client socket tcp implementation. More... | |
![]() | |
IpSocket () | |
virtual | ~IpSocket () |
SocketIpStatus | configure (const char *hostname, const U16 port, const U32 send_timeout_seconds, const U32 send_timeout_microseconds) |
configure the ip socket with host and transmission timeouts More... | |
bool | isStarted () |
Returns true when the socket is started. More... | |
bool | isOpened () |
check if IP socket has previously been opened More... | |
virtual SocketIpStatus | startup () |
startup the socket, a no-op on unless this is server More... | |
SocketIpStatus | open () |
open the IP socket for communications More... | |
SocketIpStatus | send (const U8 *const data, const U32 size) |
send data out the IP socket from the given buffer More... | |
SocketIpStatus | recv (U8 *const data, I32 &size) |
receive data from the IP socket from the given buffer More... | |
void | close () |
closes the socket More... | |
virtual void | shutdown () |
shutdown the socket More... | |
Protected Member Functions | |
SocketIpStatus | openProtocol (NATIVE_INT_TYPE &fd) override |
Tcp specific implementation for opening a client socket. More... | |
I32 | sendProtocol (const U8 *const data, const U32 size) override |
Protocol specific implementation of send. Called directly with retry from send. More... | |
I32 | recvProtocol (U8 *const data, const U32 size) override |
Protocol specific implementation of recv. Called directly with error handling from recv. More... | |
![]() | |
SocketIpStatus | setupTimeouts (NATIVE_INT_TYPE socketFd) |
setup the socket timeout properties of the opened outgoing socket More... | |
Additional Inherited Members | |
![]() | |
static SocketIpStatus | addressToIp4 (const char *address, void *ip4) |
converts a given address in dot form x.x.x.x to an ip address. ONLY works for IPv4. More... | |
![]() | |
Os::Mutex | m_lock |
NATIVE_INT_TYPE | m_fd |
U32 | m_timeoutSeconds |
U32 | m_timeoutMicroseconds |
U16 | m_port |
IP address port used. More... | |
bool | m_open |
Have we successfully opened. More... | |
bool | m_started |
Have we successfully started the socket. More... | |
char | m_hostname [SOCKET_MAX_HOSTNAME_SIZE] |
Hostname to supply. More... | |
Helper for setting up Tcp using Berkeley sockets as a client.
Certain IP headers have conflicting definitions with the m_data member of various types in fprime. TcpClientSocket separates the ip setup from the incoming Fw::Buffer in the primary component class preventing this collision.
Definition at line 26 of file TcpClientSocket.hpp.
Drv::TcpClientSocket::TcpClientSocket | ( | ) |
Constructor for client socket tcp implementation.
Definition at line 42 of file TcpClientSocket.cpp.
|
overrideprotectedvirtual |
Tcp specific implementation for opening a client socket.
fd | (output) file descriptor opened. Only valid on SOCK_SUCCESS. Otherwise will be invalid |
Implements Drv::IpSocket.
Definition at line 44 of file TcpClientSocket.cpp.
|
overrideprotectedvirtual |
Protocol specific implementation of recv. Called directly with error handling from recv.
data | data pointer to fill |
size | size of data buffer |
Implements Drv::IpSocket.
Definition at line 88 of file TcpClientSocket.cpp.
|
overrideprotectedvirtual |
Protocol specific implementation of send. Called directly with retry from send.
data | data to send |
size | size of data to send |
Implements Drv::IpSocket.
Definition at line 84 of file TcpClientSocket.cpp.