F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
TcpClientSocket.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title TcpClientSocket.hpp
3 // \author mstarch
4 // \brief cpp file for TcpClientSocket core implementation classes
5 //
6 // \copyright
7 // Copyright 2009-2020, by the California Institute of Technology.
8 // ALL RIGHTS RESERVED. United States Government Sponsorship
9 // acknowledged.
10 //
11 // ======================================================================
12 #ifndef DRV_TCPCLIENT_TCPHELPER_HPP_
13 #define DRV_TCPCLIENT_TCPHELPER_HPP_
14 
15 #include <FpConfig.hpp>
16 #include <Drv/Ip/IpSocket.hpp>
17 #include <IpCfg.hpp>
18 
19 namespace Drv {
26 class TcpClientSocket : public IpSocket {
27  public:
32  PROTECTED:
43  bool isValidPort(U16 port) override;
44 
57  I32 sendProtocol(const U8* const data, const U32 size) override;
64  I32 recvProtocol( U8* const data, const U32 size) override;
65 };
66 } // namespace Drv
67 
68 #endif /* DRV_TCPCLIENT_TCPHELPER_HPP_ */
PlatformIntType NATIVE_INT_TYPE
Definition: BasicTypes.h:51
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:26
C++-compatible configuration header for fprime configuration.
Helper base-class for setting up Berkeley sockets.
Definition: IpSocket.hpp:47
Helper for setting up Tcp using Berkeley sockets as a client.
I32 sendProtocol(const U8 *const data, const U32 size) override
Protocol specific implementation of send. Called directly with retry from send.
I32 recvProtocol(U8 *const data, const U32 size) override
Protocol specific implementation of recv. Called directly with error handling from recv.
TcpClientSocket()
Constructor for client socket tcp implementation.
SocketIpStatus openProtocol(NATIVE_INT_TYPE &fd) override
Tcp specific implementation for opening a client socket.
bool isValidPort(U16 port) override
Check if the given port is valid for the socket.
SocketIpStatus
Status enumeration for socket return values.
Definition: IpSocket.hpp:23