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 
50  SocketIpStatus openProtocol(SocketDescriptor& socketDescriptor) override;
58  I32 sendProtocol(const SocketDescriptor& socketDescriptor, const U8* const data, const U32 size) override;
66  I32 recvProtocol(const SocketDescriptor& socketDescriptor, U8* const data, const U32 size) override;
67 };
68 } // namespace Drv
69 
70 #endif /* DRV_TCPCLIENT_TCPHELPER_HPP_ */
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:30
C++-compatible configuration header for fprime configuration.
Helper base-class for setting up Berkeley sockets.
Definition: IpSocket.hpp:55
Helper for setting up Tcp using Berkeley sockets as a client.
TcpClientSocket()
Constructor for client socket tcp implementation.
I32 recvProtocol(const SocketDescriptor &socketDescriptor, U8 *const data, const U32 size) override
Protocol specific implementation of recv. Called directly with error handling from recv.
SocketIpStatus openProtocol(SocketDescriptor &socketDescriptor) override
Tcp specific implementation for opening a client socket.
I32 sendProtocol(const SocketDescriptor &socketDescriptor, const U8 *const data, const U32 size) override
Protocol specific implementation of send. Called directly with retry from send.
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:29