![]() |
F´ Flight Software - C/C++ Documentation
NASA-v2.0.0
A framework for building embedded system applications to NASA flight quality standards.
|
Helper for setting up Tcp using Berkley sockets as a client. More...
#include <Drv/Ip/TcpClientSocket.hpp>
Public Member Functions | |
TcpClientSocket () | |
Constructor for client socket tcp implementation. More... | |
![]() | |
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 | isOpened (void) |
check if IP socket has previously been opened More... | |
SocketIpStatus | open (void) |
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 (void) |
closes the socket More... | |
Protected Member Functions | |
SocketIpStatus | openProtocol (NATIVE_INT_TYPE &fd) |
Tcp specific implementation for opening a client socket. More... | |
I32 | sendProtocol (const U8 *const data, const U32 size) |
Protocol specific implementation of send. Called directly with retry from send. More... | |
I32 | recvProtocol (U8 *const data, const U32 size) |
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... | |
char | m_hostname [SOCKET_MAX_HOSTNAME_SIZE] |
Hostname to supply. More... | |
Helper for setting up Tcp using Berkley 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.
|
protectedvirtual |
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.
|
protectedvirtual |
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.
|
protectedvirtual |
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.