WarpTwin
Documentation for WarpTwin models and classes.
Loading...
Searching...
No Matches
DataIOSocketRelay.h
Go to the documentation of this file.
1/******************************************************************************
2* Copyright (c) ATTX INC 2025. All Rights Reserved.
3*
4* This software and associated documentation (the "Software") are the
5* proprietary and confidential information of ATTX INC. The Software is
6* furnished under a license agreement between ATTX and the user organization
7* and may be used or copied only in accordance with the terms of the agreement.
8* Refer to 'license/attx_license.adoc' for standard license terms.
9*
10* EXPORT CONTROL NOTICE: THIS SOFTWARE MAY INCLUDE CONTENT CONTROLLED UNDER THE
11* INTERNATIONAL TRAFFIC IN ARMS REGULATIONS (ITAR) OR THE EXPORT ADMINISTRATION
12* REGULATIONS (EAR99). No part of the Software may be used, reproduced, or
13* transmitted in any form or by any means, for any purpose, without the express
14* written permission of ATTX INC.
15******************************************************************************/
16#ifndef UTILS_DATA_IO_SOCKET_RELAY_H
17#define UTILS_DATA_IO_SOCKET_RELAY_H
18
19#include <netinet/in.h>
20
22
23namespace warptwin {
24
25const int DATASOCK_IO_BUFFER_SIZE = 1000;
26
45public:
52 DataIOSocketRelay(DataIOBase& map_target, const char* ip, int port, bool is_read = true);
54
57 int16 syncExternal() override;
58protected:
61 int16 _syncWriteSocket();
64 int16 _syncReadSocket();
65
66 // All of our socket information in ONE convenient place!
67 std::string _ip;
68 int _port = 0;
69 int _sock_fd = -1;
70 sockaddr_in _addr;
71 bool _is_read;
73
74 // Buffer for string io
76};
77
78}
79
80#endif
Definition DataIOBase.h:63
DataIOBase()
Default constructor.
Definition DataIOBase.h:66
int _port
Port we read info from.
Definition DataIOSocketRelay.h:68
bool _is_read
Flag indicating whether socket is read or write.
Definition DataIOSocketRelay.h:71
DataIOSocketRelay(DataIOBase &map_target, const char *ip, int port, bool is_read=true)
Only constructor for this object – requires mapping target, socket info.
Definition DataIOSocketRelay.cpp:26
char _buffer[DATASOCK_IO_BUFFER_SIZE]
Buffer stuff for io on string conversion.
Definition DataIOSocketRelay.h:75
int _sock_fd
File descriptor for write socket.
Definition DataIOSocketRelay.h:69
int16 syncExternal() override
Synchronize DataIO values to socket – both write and read.
Definition DataIOSocketRelay.cpp:48
~DataIOSocketRelay()
Definition DataIOSocketRelay.h:53
int16 _syncReadSocket()
Read DataIO information from socket.
Definition DataIOSocketRelay.cpp:71
int16 _syncWriteSocket()
Write DataIO information to socket.
Definition DataIOSocketRelay.cpp:57
std::string _ip
IP address.
Definition DataIOSocketRelay.h:67
sockaddr_in _addr
Socket struct to set IP, etc.
Definition DataIOSocketRelay.h:70
DataIOBase & _tgt
Reference information on type and size.
Definition DataIOSocketRelay.h:72
Class to propagate CR3BP dynamics in characteristic units.
Definition statistics.hpp:22
const int DATASOCK_IO_BUFFER_SIZE
Definition DataIOSocketRelay.h:25