F´ Flight Software - C/C++ Documentation
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 <Drv/Ip/IpSocket.hpp>
16 #include <Fw/FPrimeBasicTypes.hpp>
17 #include <config/IpCfg.hpp>
18 
19 namespace Drv {
26 class TcpClientSocket : public IpSocket {
27  public:
32 
33  protected:
44  bool isValidPort(U16 port) override;
45 
51  SocketIpStatus openProtocol(SocketDescriptor& socketDescriptor) override;
59  FwSignedSizeType sendProtocol(const SocketDescriptor& socketDescriptor,
60  const U8* const data,
61  const FwSizeType size) override;
69  FwSignedSizeType recvProtocol(const SocketDescriptor& socketDescriptor,
70  U8* const data,
71  const FwSizeType size) override;
72 };
73 } // namespace Drv
74 
75 #endif /* DRV_TCPCLIENT_TCPHELPER_HPP_ */
SocketIpStatus openProtocol(SocketDescriptor &socketDescriptor) override
Tcp specific implementation for opening a client socket.
bool isValidPort(U16 port) override
Check if the given port is valid for the socket.
PlatformSizeType FwSizeType
PlatformSignedSizeType FwSignedSizeType
TcpClientSocket()
Constructor for client socket tcp implementation.
FwSignedSizeType sendProtocol(const SocketDescriptor &socketDescriptor, const U8 *const data, const FwSizeType size) override
Protocol specific implementation of send. Called directly with retry from send.
FwSignedSizeType recvProtocol(const SocketDescriptor &socketDescriptor, U8 *const data, const FwSizeType size) override
Protocol specific implementation of recv. Called directly with error handling from recv...
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:53
SocketIpStatus
Status enumeration for socket return values.
Definition: IpSocket.hpp:29
Helper base-class for setting up Berkeley sockets.
Definition: IpSocket.hpp:57
Helper for setting up Tcp using Berkeley sockets as a client.