VR-Link API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
dataRPdu.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2025 MAK Technologies, Inc
3 ** All rights reserved.
4 *********************************************************************/
5 
6 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 #include "hostStructs.h"
15 #include "pduWithData.h"
16 #include <vlpi/idTypeMap.h>
17 #include "packets/dataRP.h"
18 #include "exerciseConn.h"
19 
20 
21 
22 class DT_DLL_VL DtDataRPdu;
23 
25 typedef void (*DtDataRPduCb)(DtDataRPdu* pdu, void* usr);
26 
31 {
32 public:
35  DtDataRPdu(const DtNetDataRPdu* initial,
36  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
37  DtDataRPdu(const DtDataRPdu& orig);
38 
40  virtual ~DtDataRPdu();
41 
43  DtDataRPdu& operator=(const DtDataRPdu& orig);
44 
46  virtual void setRequestId(unsigned long id);
47  virtual unsigned long requestId() const;
48 
50  virtual void setReqRelService(DtRequiredReliabilityService value);
51  virtual DtRequiredReliabilityService reqRelService() const;
52 
54  virtual void printData() const;
55 
57  virtual void printDataToStream(std::ostream& stream) const;
58 
59 public:
62  static DtPdu* create(const DtNetPacket* initial,
63  DtBufferPtr buffer = DtUSE_INTERNAL_BUFFER, DtPduFactory* pduFactory = 0);
64 
67  static void addCallback(DtExerciseConn* conn,
68  DtDataRPduCb cb, void* usr);
69  static void removeCallback(DtExerciseConn* conn,
70  DtDataRPduCb cb, void* usr);
71 
72 protected:
74  virtual DtPduKind internalGetPduKind() const;
75 
77  virtual DtNetDataPduTail* dataSection() const;
78 
79 protected:
80 
81  static const int theStaticSize;
82 
83 };
84 
86 {
87  return DtDataRPduKind;
88 }
89 
90 #endif
DtRequiredReliabilityService
Reliable service PDU enums.
Definition: disEnums.h:2523
DtPduWithData & operator=(const DtPduWithData &orig)
Assignment operator.
Definition: pduWithData.h:40
Instances of DtExerciseConn are used to provide an application&#39;s interface or connection to the netwo...
Definition: exerciseConnDIS.h:62
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
virtual void printData() const
Implements DtPdu&#39;s virtual function to print the PDU&#39;s data.
Definition: pduHeader.h:14
Definition: dataP4.h:53
virtual void printDataToStream(std::ostream &stream) const
Prints the contents of the PDU to the specified stream.
class DtPduFactory:
Definition: pduFactory.h:38
virtual DtPduKind internalGetPduKind() const =0
Returns the PDU kind associated with the derived PDU class.
DtPdu is the base class for all PDU&#39;s in VR-Link.
Definition: pdu.h:69
This file declares the class DtNetDataRPdu.
This file provides protocol to independence DtExerciseConn.
Instances of DtDataRPdu are used to send/receive reliable data PDUs.
Definition: dataRPdu.h:30
This file is deprecated - Please see simulationAddress.h, entityIdentifier.h, entityType.h, burstDescriptor.h, and NetStructs.h.
DtPduWithData provides the base class for all of the simulation management PDU&#39;s that have fixed/vari...
Definition: pduWithData.h:23
Definition: dataRP.h:17
struct DtBufferPlaceHolder * DtBufferPtr
Definition: vlBaseMsg.h:17
#define DtUSE_INTERNAL_BUFFER
Definition: vlBaseMsg.h:22
virtual DtPduKind internalGetPduKind() const
Returns the internal PDU kind.
Definition: dataRPdu.h:85
virtual DtNetDataPduTail * dataSection() const =0
Returns a pointer to the data section of the PDU - the part that starts with the numberOfFixedFields ...
static const int theStaticSize
Definition: dataRPdu.h:81
DtPduKind
([UID 4]) - PDU Type
Definition: disEnums.h:238
Definition: disEnums.h:303
void(* DtDataRPduCb)(DtDataRPdu *pdu, void *usr)
DtDataRPdu callback function signature.
Definition: dataRPdu.h:25

Document ID: Generated on Thu Oct 16 00:12:25 EDT 2025 from SVN revision 280738
Copyright © 1992-2025 MAK Technologies. All Rights Reserved (www.mak.com)