19#include <vlutil/vlInetTcpSocket.h>
24class DtExerciseConnection;
41template <
typename Ret,
typename Param0>
Base class for all RadarFX messages.
Definition rfxMessage.h:35
Forward declaration of the delegate template class.
Definition delegate.h:186
Thread-safe queue for single reader/single writer communication.
Definition locklessQueue.h:26
static void setDefaultHeatbeatTimeout(double val)
Sets the default heartbeat timeout.
virtual unsigned int nextId()
Generates a unique message ID.
DtLocklessQueue< DtBaseMessage * > myOutgoingQueue
Thread-safe queue for outgoing messages.
Definition radarFxConnector.h:228
unsigned int myNextId
Counter for generating unique message IDs.
Definition radarFxConnector.h:222
DtInetTcpSocket * mySocket
Socket for TCP communication with the server.
Definition radarFxConnector.h:237
static void workerFunction(void *data, volatile bool *stop)
Worker thread function that runs network communication.
virtual void removeDisconnectedCallback(const DtConnectionDelegate &delegate)
Unregisters a previously registered disconnection callback.
virtual std::string & requesterName()
Gets a unique name for this client application.
virtual bool isOk()
Checks if the connection is valid.
virtual DtVreMessageFactory & messageFactory()
Gets the message factory used for message creation.
Definition radarFxConnector.h:153
virtual void sendMessage(DtBaseMessage &request)
Sends a message to the RadarFX server.
static double defaultHeartbeatTimeout()
Gets the default heartbeat timeout.
DtRadarFxConnector()
Default constructor.
virtual void addDisconnectedCallback(const DtConnectionDelegate &delegate)
Registers a callback for disconnections.
std::string myAddress
Server address to connect to.
Definition radarFxConnector.h:246
static double theDefaultHeatbeatTimeout
Static storage for default heartbeat timeout.
Definition radarFxConnector.h:263
virtual void tick()
Processes queued messages and updates internal state.
virtual void addConnectedCallback(const DtConnectionDelegate &delegate)
Registers a callback for successful connections.
virtual ~DtRadarFxConnector()
Virtual destructor.
double myRetryTimeout
Time in seconds between connection retry attempts.
Definition radarFxConnector.h:243
static double theDefaultRetryTimeout
Static storage for default retry timeout.
Definition radarFxConnector.h:266
std::string myRequestorName
Unique name for this client instance.
Definition radarFxConnector.h:225
bool myShouldQuit
Flag indicating if the worker thread should terminate.
Definition radarFxConnector.h:260
DtThread * myWorkerThread
Worker thread that handles network communication.
Definition radarFxConnector.h:234
DtVreMessageFactory myMessageFactory
Factory for creating and decoding messages.
Definition radarFxConnector.h:219
virtual void disconnect()
Disconnects from the RadarFX server.
std::list< DtConnectionDelegate > myConnectionCallbacks
List of callbacks to invoke when connection is established.
Definition radarFxConnector.h:213
static void setDefaultRetryTimeout(double val)
Sets the default timeout for connection retry attempts.
DtVreMessageHandler myMessageHandler
Message handler for processing incoming messages.
Definition radarFxConnector.h:210
virtual void removeConnectedCallback(const DtConnectionDelegate &delegate)
Unregisters a previously registered connection callback.
virtual void connect(const std::string &address, int port=DtRadarFXPort, bool attemptRetry=true)
Establishes a connection to a remote RadarFX server.
DtInetAddr findFirstNetworkDeviceAddress(bool &found) const
Finds the IP address of the first available network device.
DtLocklessQueue< DtBaseMessage * > myIncomingQueue
Thread-safe queue for incoming messages.
Definition radarFxConnector.h:231
virtual DtVreMessageHandler & messageHandler()
Gets the message handler for incoming message processing.
Definition radarFxConnector.h:117
bool myShouldRetryConnect
Flag indicating whether to automatically retry connections.
Definition radarFxConnector.h:240
static double defaultRetryTimeout()
Gets the default timeout for connection retry attempts.
DtDelegate< void, DtRadarFxConnector * > DtConnectionDelegate
Type definition for connection state change callback delegates.
Definition radarFxConnector.h:60
std::list< DtConnectionDelegate > myDisconnectionCallbacks
List of callbacks to invoke when connection is lost.
Definition radarFxConnector.h:216
int myPort
Server port to connect to.
Definition radarFxConnector.h:249
Factory for creating RadarFX message objects from encoded data.
Definition rfxMessageFactory.h:42
Manages message callbacks for different message types.
Definition rfxMessageHandler.h:41
Defines export macros for the RadarFx Connector library.
#define RFX_CONNECTOR_DLL
Export/import macro for non-Windows platforms (empty)
Definition export.h:25
Defines a thread-safe queue for single reader/single writer scenarios.
Definition radarFxConnectorDriver.h:21
const int DtRadarFXPort
The default port that the RadarFX server listens on.
Definition radarFxConnector.h:33
Defines a factory for creating and decoding RadarFX messages.
Defines a handler for RadarFX message callbacks.