![]() |
VR-Forces 5.0.3 Developer's Guide
|
This class performs all of the network I/O for CIGI messages. This includes setting up the CIGI session, managing sockets, and setting the signal processor so that messages can be processed by the IG and responses can be sent back to the host.
Static Public Member Functions | |
| static bool | addSocketCb (DtInetSocket *sock, void *usr) |
| static bool | removeSocketCb (DtInetSocket *sock, void *usr) |
Protected Member Functions | |
| DtCigiNetworkIO (const DtCigiConnectionInitializer &initializer, DtCigiConnection &connection) | |
| virtual void | initializeUdpSocket (const DtInetEndpoint &endpoint, unsigned int listenPort, DtInetDevice *device) |
| virtual void | initializeTcpSocket (const DtInetEndpoint &endpoint, DtInetDevice *device, int localPort) |
| virtual void | addSocket (DtInetTcpSocket *sock) |
| virtual void | removeSocket (DtInetTcpSocket *sock) |
| virtual DtInetAddr | findFirstNetworkDeviceAddress (bool &found) const |
| CigiBaseIGCtrl * | igControlPacket (Cigi_uint8 *Dta) |
| DtCigiNetworkIO (const DtCigiNetworkIO &orig) | |
| DtCigiNetworkIO & | operator= (const DtCigiNetworkIO &orig) |
Friends | |
| class | DtCigiNetworkIOCreator |
|
virtual |
Destructor.
|
protected |
Constructor Creates the appropriate socket based on the connection type in the initializer and sets up the CIGI Session.
|
protected |
Non-copyable.
|
virtual |
Receives any CIGI messages from the network and processes them.
|
virtual |
Sends CIGI messages to the host. Sends start-of-frame if in synchronous mode, and any HAT/HOT/LOS responses that are queued up. The parameters are only used when sending start-of-frame.
| frameNumber | The current IG frame. |
| lastHostFrameNumber | The host frame from the last IG Control received. |
| igMode | The mode of the IG (see the CIGI ICD for values) |
| databaseNumber | The database number currently loaded/loading. |
|
virtual |
Check if there are any CIGI messages to send.
| true | if SOF or HAT/HOT/LOS responses are waiting to be sent. |
| false | otherwise. |
|
virtual |
Set the object that will receive CIGI signals and emit signals for CIGI message processing.
|
virtual |
Queues up a HAT/HOT response for sending when sendCigiMessages is called.
|
virtual |
Queues up a LOS response for sending when sendCigiMessges is called.
|
virtual |
Queues up a LOS response for sending when sendCigiMessges is called.
|
virtual |
Queues up position response.
|
virtual |
Queues Collision Segment Reponse.
|
virtual |
Queues Sensor Response.
|
virtual |
Specify a packet that will be included in the next CIGI message buffer. This is passed to the NetworkIO by the connections call of the same name.
|
virtual |
Access the cigi session. These will throw DtException if the session does not exist.
|
virtual |
Access the cigi session. These will throw DtException if the session does not exist.
| bool makVrv::DtCigiNetworkIO::cigiSessionExists | ( | ) | const |
Query if there is a (connected) cigi session.
|
virtual |
Fill in a CigiLosRespV3_2 packet from a DtCigiLosBasicResponse.
|
virtual |
Fill in a CigiLosRespV4 packet from a DtCigiLosBasicResponse.
|
virtual |
Fill in a CigiLosXRespV3_2 packet from a DtCigiLosExtendedResponse.
|
virtual |
Fill in a CigiLosXRespV4 packet from a DtCigiLosExtendedResponse.
|
virtual |
Fill in Cigi Position Resp.
|
virtual |
|
virtual |
Fill in Cigi Collision Segment Response.
|
virtual |
|
virtual |
Fill in Cigi HATHOT Response Packet.
|
virtual |
|
virtual |
Fill in Cigi HATHOT Extended Response Packet.
|
virtual |
|
virtual |
Fill in Cigi Sensor Response.
|
virtual |
|
virtual |
Fill in Cigi Sensor Extended Response.
|
virtual |
|
virtual |
Register a user defined packet manager.
|
static |
Callback when a TCP connection is added. Used only in TCP server mode.
|
static |
Callback when a TCP connection is removed. Used only in TCP server mode.
|
protectedvirtual |
Initialize a UDP socket.
|
protectedvirtual |
Initialize a TCP client socket.
|
protectedvirtual |
Called from addSocketCb.
|
protectedvirtual |
Called from removeSocketCb.
|
protectedvirtual |
|
protected |
Get a pointer to the igControl packet as the front of an incoming CIGI Message. This is a peek, and does not modify the buffer.
|
protected |
Non-copyable.
|
friend |
|
protected |
|
protected |
The socket. May be a UDP or TCP socket.
|
protected |
The CIGI Session.
|
protected |
The buffer chains used to receive CIGI messages.
|
protected |
The buffer used to receive CIGI messages.
The size of the buffer used to receive CIGI messages.
|
protected |
The address/port of the host.
|
protected |
|
protected |
The socket manager holds the TCP server socket and manages connections in TCP server mode.
|
protected |
Whether using TCP client mode. If this and myUseTcpServer are false, UDP is being used.
|
protected |
Whether we're using TCP server mode. If this and myUseTcpClient are false, UDP is being used.
|
protected |
Whether we're using synchronous mode or not. Start of frame CIGI messages will only be sent in synchronous mode.
|
protected |
Queues to send to the host. If a new type of queue is added, make sure it is added to readyToSendCigiMessages for async sessions.The HAT/HOT Response queue.
|
protected |
Queues to send to the host. If a new type of queue is added, make sure it is added to readyToSendCigiMessages for async sessions.The HAT/HOT Response queue.
|
protected |
The LOS Response queues.
|
protected |
Queues to send to the host. If a new type of queue is added, make sure it is added to readyToSendCigiMessages for async sessions.The HAT/HOT Response queue.
|
protected |
The Position Response queue.
|
protected |
The Collision Response queue.
|
protected |
The Sensor Response queue.
|
protected |
Queues to send to the host. If a new type of queue is added, make sure it is added to readyToSendCigiMessages for async sessions.The HAT/HOT Response queue.
|
protected |
Queues to send to the host. If a new type of queue is added, make sure it is added to readyToSendCigiMessages for async sessions.The HAT/HOT Response queue.
|
protected |
Time alloted to check for packet buffers on the socket.
|
protected |
Deprecated - This points to the sample DtCigiDiGuyCtrl we create and that CIGI uses to decode these packets.
|
protected |
CIGI V3 Extension Packets.
This points to the sample DtCigiDiGuyCtrlExt we create and that CIGI uses to decode these packets. This is the newer, extended version of the packet that includes scale, weight, item and head appearances
|
protected |
This points to the sample DtCigiDiGuyExecuteGesture we create and that CIGI uses to decode these packets. This is used to start the execution of a gesture.
|
protected |
This points to the sample DtCigiDiGuyEndGesture we create and that CIGI uses to decode these packets. This is used to end the execution of a gesture.
|
protected |
CIGI V4 Extension Packets.
This points to the sample DtCigiDiGuyCtrlExtV4 we create and that CIGI uses to decode these packets. This is the newer, extended version of the packet that includes scale, weight, item and head appearances
|
protected |
This points to the sample DtCigiDiGuyExecuteGestureV4 we create and that CIGI uses to decode these packets. This is used to start the execution of a gesture.
|
protected |
This points to the sample DtCigiDiGuyEndGestureV4 we create and that CIGI uses to decode these packets. This is used to end the execution of a gesture.