![]() |
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... | |
Public Member Functions inherited from Drv::IpSocket | |
| 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... | |
Protected Member Functions inherited from Drv::IpSocket | |
| SocketIpStatus | setupTimeouts (NATIVE_INT_TYPE socketFd) |
| setup the socket timeout properties of the opened outgoing socket More... | |
Additional Inherited Members | |
Static Protected Member Functions inherited from Drv::IpSocket | |
| 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... | |
Protected Attributes inherited from Drv::IpSocket | |
| 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.