12#ifndef WSFXIO_CONNECTION_HPP
13#define WSFXIO_CONNECTION_HPP
15#include "wsf_export.h"
20#include "GenUniqueId.hpp"
21#include "PakConnection.hpp"
25#include "UtReferenceTracked.hpp"
50 PakSocketIO&
GetIO()
const {
return *mIOPtr; }
53 PakTCP_IO*
GetTCP_IO()
const {
return mTCP_IO_Ptr; }
56 PakUDP_IO*
GetUDP_IO()
const {
return mUDP_IO_Ptr; }
77 void SetApplicationName(
const std::string& aApplicationName) { mApplicationName = aApplicationName; }
80 void SetApplicationId(GenUniqueId& aApplicationId) { mApplicationId = aApplicationId; }
87 bool IsReliable()
const {
return mTCP_IO_Ptr !=
nullptr; }
100 void SetClockOffset(
double aRecvOffset);
102 double GetClockOffset()
const;
112 static std::unique_ptr<UtScriptClass> CreateScriptClass(UtScriptTypes* aScriptTypesPtr);
125 std::string mApplicationName;
126 GenUniqueId mApplicationId;
131 PakTCP_IO* mTCP_IO_Ptr;
132 PakUDP_IO* mUDP_IO_Ptr;
137 bool mHasClockTranslation;
138 double mRecvClockOffset;
139 double mLastTimeStamp;
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
WsfXIO_Connection * GetLinkedConnection() const
Definition WsfXIO_Connection.hpp:44
bool IsReliable() const
Returns true if the connection is reliable.
Definition WsfXIO_Connection.hpp:87
void SetApplicationName(const std::string &aApplicationName)
Sets the name of the connected application.
Definition WsfXIO_Connection.hpp:77
void SetLastTimeStamp(double aTimeStamp)
Definition WsfXIO_Connection.hpp:110
bool IsDisconnecting() const
Returns 'true' if the connection is in the process of disconnecting.
Definition WsfXIO_Connection.hpp:96
PakSocketIO & GetIO() const
Returns the IO Device used in this connection.
Definition WsfXIO_Connection.hpp:50
friend class WsfXIO_Interface
Definition WsfXIO_Connection.hpp:39
void SetApplicationType(wsf::xio::ApplicationType aApplicationType)
Sets the application type.
Definition WsfXIO_Connection.hpp:65
void SetLinkedConnection(WsfXIO_Connection *aConnectionPtr)
Sets the linked connection.
Definition WsfXIO_Connection.hpp:47
WsfXIO_Connection(WsfXIO_Interface *aInterfacePtr, PakSocketIO *aIOPtr)
Definition WsfXIO_Connection.cpp:22
PakUDP_IO * GetUDP_IO() const
Returns the GenUDP_IO is this connection uses UDP, returns null otherwise.
Definition WsfXIO_Connection.hpp:56
void SetDisconnecting()
Definition WsfXIO_Connection.hpp:98
static UtScriptClass * GetScriptClass()
Definition WsfXIO_Connection.hpp:113
int GetConnectionId() const
Returns a locally unique identifier for this connection.
Definition WsfXIO_Connection.hpp:71
GenUniqueId GetApplicationId() const
Definition WsfXIO_Connection.hpp:84
double GetLastTimeStamp() const
Returns the last time stamp (simulation-time) from a PDU received by this connection.
Definition WsfXIO_Connection.hpp:109
void SetApplicationId(GenUniqueId &aApplicationId)
Sets the application ID.
Definition WsfXIO_Connection.hpp:80
void SetInitialized()
Specifies that the connection is initialized.
Definition WsfXIO_Connection.hpp:90
bool IsInitialized() const
Returns 'true' if the connection is initialized.
Definition WsfXIO_Connection.hpp:93
wsf::xio::ApplicationType GetApplicationType() const
Returns the application type.
Definition WsfXIO_Connection.hpp:62
void SetHasClockTranslation(bool aUseTranslation)
Definition WsfXIO_Connection.hpp:106
static UtScriptClass * mScriptClassPtr
Definition WsfXIO_Connection.hpp:115
const std::string & GetApplicationName() const
Returns the name of the connected application.
Definition WsfXIO_Connection.hpp:74
bool HasClockTranslation()
Returns 'true' if the clock offset is configured for packet synchronization with this connection.
Definition WsfXIO_Connection.hpp:105
WsfXIO_Interface & GetInterface()
Returns the associated WsfXIO_Interface.
Definition WsfXIO_Connection.hpp:59
PakTCP_IO * GetTCP_IO() const
Returns the GenTCP_IO is this connection uses TCP, returns null otherwise.
Definition WsfXIO_Connection.hpp:53
Definition WsfXIO_Interface.hpp:54
Base class for XIO Packets. Provides the header information.
Definition WsfXIO_Packet.hpp:46
ApplicationType
Definition WsfXIO.hpp:24