7 # pragma warning(disable:4101)
8 # pragma warning(disable:4065)
21 template<
typename T,
typename A>
22 void doParsimPacking(omnetpp::cCommBuffer *buffer,
const std::vector<T,A>& v)
26 for (
int i = 0; i < n; i++)
30 template<
typename T,
typename A>
36 for (
int i = 0; i < n; i++)
41 template<
typename T,
typename A>
42 void doParsimPacking(omnetpp::cCommBuffer *buffer,
const std::list<T,A>& l)
45 for (
typename std::list<T,A>::const_iterator it = l.begin(); it != l.end(); ++it)
49 template<
typename T,
typename A>
54 for (
int i=0; i<n; i++) {
61 template<
typename T,
typename Tr,
typename A>
62 void doParsimPacking(omnetpp::cCommBuffer *buffer,
const std::set<T,Tr,A>& s)
65 for (
typename std::set<T,Tr,A>::const_iterator it = s.begin(); it != s.end(); ++it)
69 template<
typename T,
typename Tr,
typename A>
74 for (
int i=0; i<n; i++) {
82 template<
typename K,
typename V,
typename Tr,
typename A>
83 void doParsimPacking(omnetpp::cCommBuffer *buffer,
const std::map<K,V,Tr,A>& m)
86 for (
typename std::map<K,V,Tr,A>::const_iterator it = m.begin(); it != m.end(); ++it) {
92 template<
typename K,
typename V,
typename Tr,
typename A>
97 for (
int i=0; i<n; i++) {
109 for (
int i = 0; i < n; i++)
116 for (
int i = 0; i < n; i++)
124 throw omnetpp::cRuntimeError(
"Parsim error: no doParsimPacking() function for type %s", omnetpp::opp_typename(
typeid(t)));
130 throw omnetpp::cRuntimeError(
"Parsim error: no doParsimUnpacking() function for type %s", omnetpp::opp_typename(
typeid(t)));
137 template<
typename T,
typename A>
138 std::ostream& operator<<(std::ostream& out, const std::vector<T,A>& vec);
142 inline std::ostream&
operator<<(std::ostream& out,
const T&) {
return out;}
145 template<
typename T,
typename A>
146 inline std::ostream& operator<<(std::ostream& out, const std::vector<T,A>& vec)
149 for(
typename std::vector<T,A>::const_iterator it = vec.begin(); it != vec.end(); ++it)
151 if (it != vec.begin()) {
152 out.put(
','); out.put(
' ');
159 sprintf(buf,
" (size=%u)", (
unsigned int)vec.size());
160 out.write(buf, strlen(buf));
182 if (
this==&other)
return *
this;
183 ::PDU::operator=(other);
210 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
212 virtual const char *
getProperty(
const char *propertyname)
const override;
214 virtual const char *
getFieldName(
int field)
const override;
215 virtual int findField(
const char *fieldName)
const override;
219 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
223 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
243 return dynamic_cast<ControlPDU *
>(obj)!=
nullptr;
249 static const char *names[] = {
nullptr };
250 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
251 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
259 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
260 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
265 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
266 return basedesc ? 0+basedesc->getFieldCount() : 0;
271 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
274 return basedesc->getFieldTypeFlags(field);
275 field -= basedesc->getFieldCount();
282 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
285 return basedesc->getFieldName(field);
286 field -= basedesc->getFieldCount();
293 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
294 return basedesc ? basedesc->findField(fieldName) : -1;
299 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
302 return basedesc->getFieldTypeString(field);
303 field -= basedesc->getFieldCount();
310 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
313 return basedesc->getFieldPropertyNames(field);
314 field -= basedesc->getFieldCount();
317 default:
return nullptr;
323 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
326 return basedesc->getFieldProperty(field, propertyname);
327 field -= basedesc->getFieldCount();
330 default:
return nullptr;
336 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
339 return basedesc->getFieldArraySize(
object, field);
340 field -= basedesc->getFieldCount();
350 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
353 return basedesc->getFieldValueAsString(
object,field,i);
354 field -= basedesc->getFieldCount();
364 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
367 return basedesc->setFieldValueAsString(
object,field,i,value);
368 field -= basedesc->getFieldCount();
372 default:
return false;
378 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
381 return basedesc->getFieldStructName(field);
382 field -= basedesc->getFieldCount();
389 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
392 return basedesc->getFieldStructValuePointer(
object, field, i);
393 field -= basedesc->getFieldCount();
397 default:
return nullptr;
419 if (
this==&other)
return *
this;
420 ::ControlPDU::operator=(other);
460 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
462 virtual const char *
getProperty(
const char *propertyname)
const override;
464 virtual const char *
getFieldName(
int field)
const override;
465 virtual int findField(
const char *fieldName)
const override;
469 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
473 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
493 return dynamic_cast<NAckPDU *
>(obj)!=
nullptr;
499 static const char *names[] = {
nullptr };
500 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
501 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
509 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
510 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
515 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
516 return basedesc ? 1+basedesc->getFieldCount() : 1;
521 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
524 return basedesc->getFieldTypeFlags(field);
525 field -= basedesc->getFieldCount();
527 static unsigned int fieldTypeFlags[] = {
530 return (field>=0 && field<1) ? fieldTypeFlags[field] : 0;
535 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
538 return basedesc->getFieldName(field);
539 field -= basedesc->getFieldCount();
541 static const char *fieldNames[] = {
544 return (field>=0 && field<1) ? fieldNames[field] :
nullptr;
549 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
550 int base = basedesc ? basedesc->getFieldCount() : 0;
551 if (fieldName[0]==
'a' && strcmp(fieldName,
"ackNackSeqNum")==0)
return base+0;
552 return basedesc ? basedesc->findField(fieldName) : -1;
557 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
560 return basedesc->getFieldTypeString(field);
561 field -= basedesc->getFieldCount();
563 static const char *fieldTypeStrings[] = {
566 return (field>=0 && field<1) ? fieldTypeStrings[field] :
nullptr;
571 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
574 return basedesc->getFieldPropertyNames(field);
575 field -= basedesc->getFieldCount();
578 default:
return nullptr;
584 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
587 return basedesc->getFieldProperty(field, propertyname);
588 field -= basedesc->getFieldCount();
591 default:
return nullptr;
597 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
600 return basedesc->getFieldArraySize(
object, field);
601 field -= basedesc->getFieldCount();
611 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
614 return basedesc->getFieldValueAsString(
object,field,i);
615 field -= basedesc->getFieldCount();
626 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
629 return basedesc->setFieldValueAsString(
object,field,i,value);
630 field -= basedesc->getFieldCount();
635 default:
return false;
641 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
644 return basedesc->getFieldStructName(field);
645 field -= basedesc->getFieldCount();
648 default:
return nullptr;
654 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
657 return basedesc->getFieldStructValuePointer(
object, field, i);
658 field -= basedesc->getFieldCount();
662 default:
return nullptr;
689 if (
this==&other)
return *
this;
690 ::NAckPDU::operator=(other);
795 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
797 virtual const char *
getProperty(
const char *propertyname)
const override;
799 virtual const char *
getFieldName(
int field)
const override;
800 virtual int findField(
const char *fieldName)
const override;
804 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
808 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
834 static const char *names[] = {
nullptr };
835 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
836 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
844 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
845 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
850 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
851 return basedesc ? 6+basedesc->getFieldCount() : 6;
856 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
859 return basedesc->getFieldTypeFlags(field);
860 field -= basedesc->getFieldCount();
862 static unsigned int fieldTypeFlags[] = {
870 return (field>=0 && field<6) ? fieldTypeFlags[field] : 0;
875 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
878 return basedesc->getFieldName(field);
879 field -= basedesc->getFieldCount();
881 static const char *fieldNames[] = {
889 return (field>=0 && field<6) ? fieldNames[field] :
nullptr;
894 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
895 int base = basedesc ? basedesc->getFieldCount() : 0;
896 if (fieldName[0]==
'r' && strcmp(fieldName,
"rcvRightWinEdge")==0)
return base+0;
897 if (fieldName[0]==
'r' && strcmp(fieldName,
"rcvRate")==0)
return base+1;
898 if (fieldName[0]==
't' && strcmp(fieldName,
"timeUnit")==0)
return base+2;
899 if (fieldName[0]==
's' && strcmp(fieldName,
"sndLeftWinEdge")==0)
return base+3;
900 if (fieldName[0]==
's' && strcmp(fieldName,
"sndRightWinEdge")==0)
return base+4;
901 if (fieldName[0]==
's' && strcmp(fieldName,
"sndRate")==0)
return base+5;
902 return basedesc ? basedesc->findField(fieldName) : -1;
907 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
910 return basedesc->getFieldTypeString(field);
911 field -= basedesc->getFieldCount();
913 static const char *fieldTypeStrings[] = {
921 return (field>=0 && field<6) ? fieldTypeStrings[field] :
nullptr;
926 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
929 return basedesc->getFieldPropertyNames(field);
930 field -= basedesc->getFieldCount();
933 default:
return nullptr;
939 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
942 return basedesc->getFieldProperty(field, propertyname);
943 field -= basedesc->getFieldCount();
946 default:
return nullptr;
952 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
955 return basedesc->getFieldArraySize(
object, field);
956 field -= basedesc->getFieldCount();
966 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
969 return basedesc->getFieldValueAsString(
object,field,i);
970 field -= basedesc->getFieldCount();
975 case 1:
return ulong2string(pp->
getRcvRate());
979 case 5:
return ulong2string(pp->
getSndRate());
986 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
989 return basedesc->setFieldValueAsString(
object,field,i,value);
990 field -= basedesc->getFieldCount();
995 case 1: pp->
setRcvRate(string2ulong(value));
return true;
996 case 2: pp->
setTimeUnit(string2ulong(value));
return true;
999 case 5: pp->
setSndRate(string2ulong(value));
return true;
1000 default:
return false;
1006 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1009 return basedesc->getFieldStructName(field);
1010 field -= basedesc->getFieldCount();
1013 default:
return nullptr;
1019 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1022 return basedesc->getFieldStructValuePointer(
object, field, i);
1023 field -= basedesc->getFieldCount();
1027 default:
return nullptr;
1049 if (
this==&other)
return *
this;
1050 ::NAckPDU::operator=(other);
1077 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
1079 virtual const char *
getProperty(
const char *propertyname)
const override;
1081 virtual const char *
getFieldName(
int field)
const override;
1082 virtual int findField(
const char *fieldName)
const override;
1086 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
1090 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
1110 return dynamic_cast<AckOnlyPDU *
>(obj)!=
nullptr;
1116 static const char *names[] = {
nullptr };
1117 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1118 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
1126 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1127 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
1132 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1133 return basedesc ? 0+basedesc->getFieldCount() : 0;
1138 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1141 return basedesc->getFieldTypeFlags(field);
1142 field -= basedesc->getFieldCount();
1149 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1152 return basedesc->getFieldName(field);
1153 field -= basedesc->getFieldCount();
1160 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1161 return basedesc ? basedesc->findField(fieldName) : -1;
1166 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1169 return basedesc->getFieldTypeString(field);
1170 field -= basedesc->getFieldCount();
1177 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1180 return basedesc->getFieldPropertyNames(field);
1181 field -= basedesc->getFieldCount();
1184 default:
return nullptr;
1190 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1193 return basedesc->getFieldProperty(field, propertyname);
1194 field -= basedesc->getFieldCount();
1197 default:
return nullptr;
1203 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1206 return basedesc->getFieldArraySize(
object, field);
1207 field -= basedesc->getFieldCount();
1217 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1220 return basedesc->getFieldValueAsString(
object,field,i);
1221 field -= basedesc->getFieldCount();
1231 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1234 return basedesc->setFieldValueAsString(
object,field,i,value);
1235 field -= basedesc->getFieldCount();
1239 default:
return false;
1245 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1248 return basedesc->getFieldStructName(field);
1249 field -= basedesc->getFieldCount();
1256 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1259 return basedesc->getFieldStructValuePointer(
object, field, i);
1260 field -= basedesc->getFieldCount();
1264 default:
return nullptr;
1286 if (
this==&other)
return *
this;
1287 ::NAckPDU::operator=(other);
1314 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
1316 virtual const char *
getProperty(
const char *propertyname)
const override;
1318 virtual const char *
getFieldName(
int field)
const override;
1319 virtual int findField(
const char *fieldName)
const override;
1323 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
1327 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
1353 static const char *names[] = {
nullptr };
1354 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1355 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
1363 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1364 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
1369 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1370 return basedesc ? 0+basedesc->getFieldCount() : 0;
1375 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1378 return basedesc->getFieldTypeFlags(field);
1379 field -= basedesc->getFieldCount();
1386 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1389 return basedesc->getFieldName(field);
1390 field -= basedesc->getFieldCount();
1397 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1398 return basedesc ? basedesc->findField(fieldName) : -1;
1403 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1406 return basedesc->getFieldTypeString(field);
1407 field -= basedesc->getFieldCount();
1414 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1417 return basedesc->getFieldPropertyNames(field);
1418 field -= basedesc->getFieldCount();
1421 default:
return nullptr;
1427 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1430 return basedesc->getFieldProperty(field, propertyname);
1431 field -= basedesc->getFieldCount();
1434 default:
return nullptr;
1440 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1443 return basedesc->getFieldArraySize(
object, field);
1444 field -= basedesc->getFieldCount();
1454 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1457 return basedesc->getFieldValueAsString(
object,field,i);
1458 field -= basedesc->getFieldCount();
1468 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1471 return basedesc->setFieldValueAsString(
object,field,i,value);
1472 field -= basedesc->getFieldCount();
1476 default:
return false;
1482 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1485 return basedesc->getFieldStructName(field);
1486 field -= basedesc->getFieldCount();
1493 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1496 return basedesc->getFieldStructValuePointer(
object, field, i);
1497 field -= basedesc->getFieldCount();
1501 default:
return nullptr;
1523 if (
this==&other)
return *
this;
1524 ::FlowControlPDU::operator=(other);
1551 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
1553 virtual const char *
getProperty(
const char *propertyname)
const override;
1555 virtual const char *
getFieldName(
int field)
const override;
1556 virtual int findField(
const char *fieldName)
const override;
1560 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
1564 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
1584 return dynamic_cast<AckFlowPDU *
>(obj)!=
nullptr;
1590 static const char *names[] = {
nullptr };
1591 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1592 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
1600 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1601 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
1606 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1607 return basedesc ? 0+basedesc->getFieldCount() : 0;
1612 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1615 return basedesc->getFieldTypeFlags(field);
1616 field -= basedesc->getFieldCount();
1623 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1626 return basedesc->getFieldName(field);
1627 field -= basedesc->getFieldCount();
1634 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1635 return basedesc ? basedesc->findField(fieldName) : -1;
1640 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1643 return basedesc->getFieldTypeString(field);
1644 field -= basedesc->getFieldCount();
1651 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1654 return basedesc->getFieldPropertyNames(field);
1655 field -= basedesc->getFieldCount();
1658 default:
return nullptr;
1664 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1667 return basedesc->getFieldProperty(field, propertyname);
1668 field -= basedesc->getFieldCount();
1671 default:
return nullptr;
1677 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1680 return basedesc->getFieldArraySize(
object, field);
1681 field -= basedesc->getFieldCount();
1691 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1694 return basedesc->getFieldValueAsString(
object,field,i);
1695 field -= basedesc->getFieldCount();
1705 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1708 return basedesc->setFieldValueAsString(
object,field,i,value);
1709 field -= basedesc->getFieldCount();
1713 default:
return false;
1719 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1722 return basedesc->getFieldStructName(field);
1723 field -= basedesc->getFieldCount();
1730 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1733 return basedesc->getFieldStructValuePointer(
object, field, i);
1734 field -= basedesc->getFieldCount();
1738 default:
return nullptr;
1760 if (
this==&other)
return *
this;
1761 ::FlowControlPDU::operator=(other);
1788 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
1790 virtual const char *
getProperty(
const char *propertyname)
const override;
1792 virtual const char *
getFieldName(
int field)
const override;
1793 virtual int findField(
const char *fieldName)
const override;
1797 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
1801 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
1827 static const char *names[] = {
nullptr };
1828 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1829 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
1837 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1838 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
1843 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1844 return basedesc ? 0+basedesc->getFieldCount() : 0;
1849 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1852 return basedesc->getFieldTypeFlags(field);
1853 field -= basedesc->getFieldCount();
1860 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1863 return basedesc->getFieldName(field);
1864 field -= basedesc->getFieldCount();
1871 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1872 return basedesc ? basedesc->findField(fieldName) : -1;
1877 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1880 return basedesc->getFieldTypeString(field);
1881 field -= basedesc->getFieldCount();
1888 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1891 return basedesc->getFieldPropertyNames(field);
1892 field -= basedesc->getFieldCount();
1895 default:
return nullptr;
1901 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1904 return basedesc->getFieldProperty(field, propertyname);
1905 field -= basedesc->getFieldCount();
1908 default:
return nullptr;
1914 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1917 return basedesc->getFieldArraySize(
object, field);
1918 field -= basedesc->getFieldCount();
1928 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1931 return basedesc->getFieldValueAsString(
object,field,i);
1932 field -= basedesc->getFieldCount();
1942 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1945 return basedesc->setFieldValueAsString(
object,field,i,value);
1946 field -= basedesc->getFieldCount();
1950 default:
return false;
1956 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1959 return basedesc->getFieldStructName(field);
1960 field -= basedesc->getFieldCount();
1967 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
1970 return basedesc->getFieldStructValuePointer(
object, field, i);
1971 field -= basedesc->getFieldCount();
1975 default:
return nullptr;
1997 if (
this==&other)
return *
this;
1998 ::FlowControlPDU::operator=(other);
2025 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
2027 virtual const char *
getProperty(
const char *propertyname)
const override;
2029 virtual const char *
getFieldName(
int field)
const override;
2030 virtual int findField(
const char *fieldName)
const override;
2034 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
2038 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
2064 static const char *names[] = {
nullptr };
2065 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2066 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
2074 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2075 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
2080 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2081 return basedesc ? 0+basedesc->getFieldCount() : 0;
2086 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2089 return basedesc->getFieldTypeFlags(field);
2090 field -= basedesc->getFieldCount();
2097 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2100 return basedesc->getFieldName(field);
2101 field -= basedesc->getFieldCount();
2108 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2109 return basedesc ? basedesc->findField(fieldName) : -1;
2114 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2117 return basedesc->getFieldTypeString(field);
2118 field -= basedesc->getFieldCount();
2125 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2128 return basedesc->getFieldPropertyNames(field);
2129 field -= basedesc->getFieldCount();
2132 default:
return nullptr;
2138 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2141 return basedesc->getFieldProperty(field, propertyname);
2142 field -= basedesc->getFieldCount();
2145 default:
return nullptr;
2151 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2154 return basedesc->getFieldArraySize(
object, field);
2155 field -= basedesc->getFieldCount();
2165 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2168 return basedesc->getFieldValueAsString(
object,field,i);
2169 field -= basedesc->getFieldCount();
2179 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2182 return basedesc->setFieldValueAsString(
object,field,i,value);
2183 field -= basedesc->getFieldCount();
2187 default:
return false;
2193 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2196 return basedesc->getFieldStructName(field);
2197 field -= basedesc->getFieldCount();
2204 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2207 return basedesc->getFieldStructValuePointer(
object, field, i);
2208 field -= basedesc->getFieldCount();
2212 default:
return nullptr;
2240 if (
this==&other)
return *
this;
2241 ::FlowControlPDU::operator=(other);
2303 unsigned int *nackList2 = (size==0) ?
nullptr :
new unsigned int[size];
2305 for (
unsigned int i=0; i<sz; i++)
2307 for (
unsigned int i=sz; i<size; i++)
2339 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
2341 virtual const char *
getProperty(
const char *propertyname)
const override;
2343 virtual const char *
getFieldName(
int field)
const override;
2344 virtual int findField(
const char *fieldName)
const override;
2348 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
2352 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
2378 static const char *names[] = {
nullptr };
2379 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2380 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
2388 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2389 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
2394 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2395 return basedesc ? 3+basedesc->getFieldCount() : 3;
2400 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2403 return basedesc->getFieldTypeFlags(field);
2404 field -= basedesc->getFieldCount();
2406 static unsigned int fieldTypeFlags[] = {
2409 FD_ISARRAY | FD_ISEDITABLE,
2411 return (field>=0 && field<3) ? fieldTypeFlags[field] : 0;
2416 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2419 return basedesc->getFieldName(field);
2420 field -= basedesc->getFieldCount();
2422 static const char *fieldNames[] = {
2427 return (field>=0 && field<3) ? fieldNames[field] :
nullptr;
2432 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2433 int base = basedesc ? basedesc->getFieldCount() : 0;
2434 if (fieldName[0]==
'n' && strcmp(fieldName,
"newLeftWinEdge")==0)
return base+0;
2435 if (fieldName[0]==
'n' && strcmp(fieldName,
"nackListLen")==0)
return base+1;
2436 if (fieldName[0]==
'n' && strcmp(fieldName,
"nackList")==0)
return base+2;
2437 return basedesc ? basedesc->findField(fieldName) : -1;
2442 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2445 return basedesc->getFieldTypeString(field);
2446 field -= basedesc->getFieldCount();
2448 static const char *fieldTypeStrings[] = {
2453 return (field>=0 && field<3) ? fieldTypeStrings[field] :
nullptr;
2458 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2461 return basedesc->getFieldPropertyNames(field);
2462 field -= basedesc->getFieldCount();
2465 default:
return nullptr;
2471 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2474 return basedesc->getFieldProperty(field, propertyname);
2475 field -= basedesc->getFieldCount();
2478 default:
return nullptr;
2484 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2487 return basedesc->getFieldArraySize(
object, field);
2488 field -= basedesc->getFieldCount();
2499 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2502 return basedesc->getFieldValueAsString(
object,field,i);
2503 field -= basedesc->getFieldCount();
2516 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2519 return basedesc->setFieldValueAsString(
object,field,i,value);
2520 field -= basedesc->getFieldCount();
2526 case 2: pp->
setNackList(i,string2ulong(value));
return true;
2527 default:
return false;
2533 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2536 return basedesc->getFieldStructName(field);
2537 field -= basedesc->getFieldCount();
2540 default:
return nullptr;
2546 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2549 return basedesc->getFieldStructValuePointer(
object, field, i);
2550 field -= basedesc->getFieldCount();
2554 default:
return nullptr;
2576 if (
this==&other)
return *
this;
2577 ::SelectiveNAckFlow::operator=(other);
2604 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
2606 virtual const char *
getProperty(
const char *propertyname)
const override;
2608 virtual const char *
getFieldName(
int field)
const override;
2609 virtual int findField(
const char *fieldName)
const override;
2613 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
2617 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
2643 static const char *names[] = {
nullptr };
2644 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2645 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
2653 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2654 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
2659 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2660 return basedesc ? 0+basedesc->getFieldCount() : 0;
2665 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2668 return basedesc->getFieldTypeFlags(field);
2669 field -= basedesc->getFieldCount();
2676 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2679 return basedesc->getFieldName(field);
2680 field -= basedesc->getFieldCount();
2687 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2688 return basedesc ? basedesc->findField(fieldName) : -1;
2693 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2696 return basedesc->getFieldTypeString(field);
2697 field -= basedesc->getFieldCount();
2704 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2707 return basedesc->getFieldPropertyNames(field);
2708 field -= basedesc->getFieldCount();
2711 default:
return nullptr;
2717 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2720 return basedesc->getFieldProperty(field, propertyname);
2721 field -= basedesc->getFieldCount();
2724 default:
return nullptr;
2730 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2733 return basedesc->getFieldArraySize(
object, field);
2734 field -= basedesc->getFieldCount();
2744 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2747 return basedesc->getFieldValueAsString(
object,field,i);
2748 field -= basedesc->getFieldCount();
2758 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2761 return basedesc->setFieldValueAsString(
object,field,i,value);
2762 field -= basedesc->getFieldCount();
2766 default:
return false;
2772 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2775 return basedesc->getFieldStructName(field);
2776 field -= basedesc->getFieldCount();
2783 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2786 return basedesc->getFieldStructValuePointer(
object, field, i);
2787 field -= basedesc->getFieldCount();
2791 default:
return nullptr;
2813 if (
this==&other)
return *
this;
2814 ::SelectiveNAckFlow::operator=(other);
2841 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
2843 virtual const char *
getProperty(
const char *propertyname)
const override;
2845 virtual const char *
getFieldName(
int field)
const override;
2846 virtual int findField(
const char *fieldName)
const override;
2850 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
2854 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
2880 static const char *names[] = {
nullptr };
2881 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2882 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
2890 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2891 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
2896 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2897 return basedesc ? 0+basedesc->getFieldCount() : 0;
2902 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2905 return basedesc->getFieldTypeFlags(field);
2906 field -= basedesc->getFieldCount();
2913 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2916 return basedesc->getFieldName(field);
2917 field -= basedesc->getFieldCount();
2924 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2925 return basedesc ? basedesc->findField(fieldName) : -1;
2930 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2933 return basedesc->getFieldTypeString(field);
2934 field -= basedesc->getFieldCount();
2941 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2944 return basedesc->getFieldPropertyNames(field);
2945 field -= basedesc->getFieldCount();
2948 default:
return nullptr;
2954 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2957 return basedesc->getFieldProperty(field, propertyname);
2958 field -= basedesc->getFieldCount();
2961 default:
return nullptr;
2967 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2970 return basedesc->getFieldArraySize(
object, field);
2971 field -= basedesc->getFieldCount();
2981 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2984 return basedesc->getFieldValueAsString(
object,field,i);
2985 field -= basedesc->getFieldCount();
2995 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
2998 return basedesc->setFieldValueAsString(
object,field,i,value);
2999 field -= basedesc->getFieldCount();
3003 default:
return false;
3009 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3012 return basedesc->getFieldStructName(field);
3013 field -= basedesc->getFieldCount();
3020 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3023 return basedesc->getFieldStructValuePointer(
object, field, i);
3024 field -= basedesc->getFieldCount();
3028 default:
return nullptr;
3050 if (
this==&other)
return *
this;
3051 ::SelectiveNAckFlow::operator=(other);
3078 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
3080 virtual const char *
getProperty(
const char *propertyname)
const override;
3082 virtual const char *
getFieldName(
int field)
const override;
3083 virtual int findField(
const char *fieldName)
const override;
3087 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
3091 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
3117 static const char *names[] = {
nullptr };
3118 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3119 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
3127 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3128 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
3133 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3134 return basedesc ? 0+basedesc->getFieldCount() : 0;
3139 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3142 return basedesc->getFieldTypeFlags(field);
3143 field -= basedesc->getFieldCount();
3150 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3153 return basedesc->getFieldName(field);
3154 field -= basedesc->getFieldCount();
3161 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3162 return basedesc ? basedesc->findField(fieldName) : -1;
3167 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3170 return basedesc->getFieldTypeString(field);
3171 field -= basedesc->getFieldCount();
3178 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3181 return basedesc->getFieldPropertyNames(field);
3182 field -= basedesc->getFieldCount();
3185 default:
return nullptr;
3191 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3194 return basedesc->getFieldProperty(field, propertyname);
3195 field -= basedesc->getFieldCount();
3198 default:
return nullptr;
3204 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3207 return basedesc->getFieldArraySize(
object, field);
3208 field -= basedesc->getFieldCount();
3218 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3221 return basedesc->getFieldValueAsString(
object,field,i);
3222 field -= basedesc->getFieldCount();
3232 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3235 return basedesc->setFieldValueAsString(
object,field,i,value);
3236 field -= basedesc->getFieldCount();
3240 default:
return false;
3246 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3249 return basedesc->getFieldStructName(field);
3250 field -= basedesc->getFieldCount();
3257 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3260 return basedesc->getFieldStructValuePointer(
object, field, i);
3261 field -= basedesc->getFieldCount();
3265 default:
return nullptr;
3287 if (
this==&other)
return *
this;
3288 ::SelectiveNAckFlow::operator=(other);
3315 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
3317 virtual const char *
getProperty(
const char *propertyname)
const override;
3319 virtual const char *
getFieldName(
int field)
const override;
3320 virtual int findField(
const char *fieldName)
const override;
3324 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
3328 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
3354 static const char *names[] = {
nullptr };
3355 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3356 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
3364 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3365 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
3370 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3371 return basedesc ? 0+basedesc->getFieldCount() : 0;
3376 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3379 return basedesc->getFieldTypeFlags(field);
3380 field -= basedesc->getFieldCount();
3387 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3390 return basedesc->getFieldName(field);
3391 field -= basedesc->getFieldCount();
3398 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3399 return basedesc ? basedesc->findField(fieldName) : -1;
3404 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3407 return basedesc->getFieldTypeString(field);
3408 field -= basedesc->getFieldCount();
3415 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3418 return basedesc->getFieldPropertyNames(field);
3419 field -= basedesc->getFieldCount();
3422 default:
return nullptr;
3428 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3431 return basedesc->getFieldProperty(field, propertyname);
3432 field -= basedesc->getFieldCount();
3435 default:
return nullptr;
3441 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3444 return basedesc->getFieldArraySize(
object, field);
3445 field -= basedesc->getFieldCount();
3455 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3458 return basedesc->getFieldValueAsString(
object,field,i);
3459 field -= basedesc->getFieldCount();
3469 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3472 return basedesc->setFieldValueAsString(
object,field,i,value);
3473 field -= basedesc->getFieldCount();
3477 default:
return false;
3483 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3486 return basedesc->getFieldStructName(field);
3487 field -= basedesc->getFieldCount();
3494 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3497 return basedesc->getFieldStructValuePointer(
object, field, i);
3498 field -= basedesc->getFieldCount();
3502 default:
return nullptr;
3531 if (
this==&other)
return *
this;
3532 ::ControlPDU::operator=(other);
3637 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
3639 virtual const char *
getProperty(
const char *propertyname)
const override;
3641 virtual const char *
getFieldName(
int field)
const override;
3642 virtual int findField(
const char *fieldName)
const override;
3646 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
3650 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
3676 static const char *names[] = {
nullptr };
3677 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3678 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
3686 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3687 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
3692 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3693 return basedesc ? 6+basedesc->getFieldCount() : 6;
3698 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3701 return basedesc->getFieldTypeFlags(field);
3702 field -= basedesc->getFieldCount();
3704 static unsigned int fieldTypeFlags[] = {
3712 return (field>=0 && field<6) ? fieldTypeFlags[field] : 0;
3717 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3720 return basedesc->getFieldName(field);
3721 field -= basedesc->getFieldCount();
3723 static const char *fieldNames[] = {
3724 "lastCtrlSeqNumRcv",
3731 return (field>=0 && field<6) ? fieldNames[field] :
nullptr;
3736 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3737 int base = basedesc ? basedesc->getFieldCount() : 0;
3738 if (fieldName[0]==
'l' && strcmp(fieldName,
"lastCtrlSeqNumRcv")==0)
return base+0;
3739 if (fieldName[0]==
'r' && strcmp(fieldName,
"rcvLeftWinEdge")==0)
return base+1;
3740 if (fieldName[0]==
'r' && strcmp(fieldName,
"rcvRightWinEdge")==0)
return base+2;
3741 if (fieldName[0]==
's' && strcmp(fieldName,
"sndLeftWinEdge")==0)
return base+3;
3742 if (fieldName[0]==
's' && strcmp(fieldName,
"sndRightWinEdge")==0)
return base+4;
3743 if (fieldName[0]==
'r' && strcmp(fieldName,
"rcvRate")==0)
return base+5;
3744 return basedesc ? basedesc->findField(fieldName) : -1;
3749 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3752 return basedesc->getFieldTypeString(field);
3753 field -= basedesc->getFieldCount();
3755 static const char *fieldTypeStrings[] = {
3763 return (field>=0 && field<6) ? fieldTypeStrings[field] :
nullptr;
3768 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3771 return basedesc->getFieldPropertyNames(field);
3772 field -= basedesc->getFieldCount();
3775 default:
return nullptr;
3781 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3784 return basedesc->getFieldProperty(field, propertyname);
3785 field -= basedesc->getFieldCount();
3788 default:
return nullptr;
3794 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3797 return basedesc->getFieldArraySize(
object, field);
3798 field -= basedesc->getFieldCount();
3808 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3811 return basedesc->getFieldValueAsString(
object,field,i);
3812 field -= basedesc->getFieldCount();
3821 case 5:
return ulong2string(pp->
getRcvRate());
3828 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3831 return basedesc->setFieldValueAsString(
object,field,i,value);
3832 field -= basedesc->getFieldCount();
3841 case 5: pp->
setRcvRate(string2ulong(value));
return true;
3842 default:
return false;
3848 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3851 return basedesc->getFieldStructName(field);
3852 field -= basedesc->getFieldCount();
3855 default:
return nullptr;
3861 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3864 return basedesc->getFieldStructValuePointer(
object, field, i);
3865 field -= basedesc->getFieldCount();
3869 default:
return nullptr;
3893 if (
this==&other)
return *
this;
3894 ::ControlAckPDU::operator=(other);
3934 virtual bool doesSupport(omnetpp::cObject *obj)
const override;
3936 virtual const char *
getProperty(
const char *propertyname)
const override;
3938 virtual const char *
getFieldName(
int field)
const override;
3939 virtual int findField(
const char *fieldName)
const override;
3943 virtual const char *
getFieldProperty(
int field,
const char *propertyname)
const override;
3947 virtual bool setFieldValueAsString(
void *
object,
int field,
int i,
const char *value)
const override;
3973 static const char *names[] = {
nullptr };
3974 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3975 const char **basenames = basedesc ? basedesc->getPropertyNames() :
nullptr;
3983 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3984 return basedesc ? basedesc->getProperty(propertyname) :
nullptr;
3989 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3990 return basedesc ? 1+basedesc->getFieldCount() : 1;
3995 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
3998 return basedesc->getFieldTypeFlags(field);
3999 field -= basedesc->getFieldCount();
4001 static unsigned int fieldTypeFlags[] = {
4004 return (field>=0 && field<1) ? fieldTypeFlags[field] : 0;
4009 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
4012 return basedesc->getFieldName(field);
4013 field -= basedesc->getFieldCount();
4015 static const char *fieldNames[] = {
4018 return (field>=0 && field<1) ? fieldNames[field] :
nullptr;
4023 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
4024 int base = basedesc ? basedesc->getFieldCount() : 0;
4025 if (fieldName[0]==
'r' && strcmp(fieldName,
"rendezSeqNum")==0)
return base+0;
4026 return basedesc ? basedesc->findField(fieldName) : -1;
4031 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
4034 return basedesc->getFieldTypeString(field);
4035 field -= basedesc->getFieldCount();
4037 static const char *fieldTypeStrings[] = {
4040 return (field>=0 && field<1) ? fieldTypeStrings[field] :
nullptr;
4045 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
4048 return basedesc->getFieldPropertyNames(field);
4049 field -= basedesc->getFieldCount();
4052 default:
return nullptr;
4058 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
4061 return basedesc->getFieldProperty(field, propertyname);
4062 field -= basedesc->getFieldCount();
4065 default:
return nullptr;
4071 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
4074 return basedesc->getFieldArraySize(
object, field);
4075 field -= basedesc->getFieldCount();
4085 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
4088 return basedesc->getFieldValueAsString(
object,field,i);
4089 field -= basedesc->getFieldCount();
4100 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
4103 return basedesc->setFieldValueAsString(
object,field,i,value);
4104 field -= basedesc->getFieldCount();
4109 default:
return false;
4115 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
4118 return basedesc->getFieldStructName(field);
4119 field -= basedesc->getFieldCount();
4122 default:
return nullptr;
4128 omnetpp::cClassDescriptor *basedesc = getBaseClassDescriptor();
4131 return basedesc->getFieldStructValuePointer(
object, field, i);
4132 field -= basedesc->getFieldCount();
4136 default:
return nullptr;
virtual int findField(const char *fieldName) const override
const char ** propertynames
virtual unsigned int getFieldTypeFlags(int field) const override
virtual int getFieldCount() const override
const char ** propertynames
virtual unsigned int getFieldTypeFlags(int field) const override
virtual const char * getFieldTypeString(int field) const override
virtual void parsimPack(omnetpp::cCommBuffer *b) const
void copy(const AckFlowPDU &other)
virtual ~AckOnlyPDUDescriptor()
virtual void setNewLeftWinEdge(unsigned int newLeftWinEdge)
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual unsigned int getSndRightWinEdge() const
virtual const char ** getPropertyNames() const override
virtual const char * getProperty(const char *propertyname) const override
virtual int getFieldArraySize(void *object, int field) const override
virtual int getFieldCount() const override
SelectiveNAckFlow & operator=(const SelectiveNAckFlow &other)
virtual const char ** getFieldPropertyNames(int field) const override
virtual const char * getFieldName(int field) const override
NackOnlyPDU(const char *name=nullptr, int kind=0)
virtual ~FlowControlOnlyPDU()
virtual void setRcvRate(unsigned int rcvRate)
virtual const char * getProperty(const char *propertyname) const override
virtual unsigned int getFieldTypeFlags(int field) const override
const char ** propertynames
virtual const char * getFieldStructName(int field) const override
virtual const char * getFieldName(int field) const override
virtual const char * getProperty(const char *propertyname) const override
virtual const char ** getPropertyNames() const override
virtual const char * getProperty(const char *propertyname) const override
virtual void parsimPack(omnetpp::cCommBuffer *b) const
const char ** propertynames
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual int getFieldCount() const override
virtual const char * getFieldName(int field) const override
virtual const char ** getFieldPropertyNames(int field) const override
virtual unsigned int getFieldTypeFlags(int field) const override
unsigned int rendezSeqNum
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
NAckPDU & operator=(const NAckPDU &other)
virtual ~SelectiveAckPDUDescriptor()
const char ** propertynames
virtual ~FlowControlPDUDescriptor()
virtual void setRcvRightWinEdge(unsigned int rcvRightWinEdge)
virtual int getFieldArraySize(void *object, int field) const override
virtual ~AckFlowPDUDescriptor()
virtual const char * getFieldStructName(int field) const override
virtual ~SelectiveNAckFlowDescriptor()
virtual const char * getFieldTypeString(int field) const override
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
SelectiveNAckFlowDescriptor()
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
void copy(const ControlAckPDU &other)
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual int getFieldArraySize(void *object, int field) const override
virtual const char ** getPropertyNames() const override
virtual const char * getFieldTypeString(int field) const override
virtual unsigned int getFieldTypeFlags(int field) const override
virtual int getFieldArraySize(void *object, int field) const override
SelectiveNackFlowPDU & operator=(const SelectiveNackFlowPDU &other)
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual const char * getFieldStructName(int field) const override
virtual const char ** getFieldPropertyNames(int field) const override
NackOnlyPDU & operator=(const NackOnlyPDU &other)
virtual const char * getFieldTypeString(int field) const override
virtual const char ** getPropertyNames() const override
FlowControlPDU(const char *name=nullptr, int kind=0)
RendezvousPDUDescriptor()
virtual int findField(const char *fieldName) const override
virtual void setSndRightWinEdge(unsigned int sndRightWinEdge)
virtual unsigned int getSndRate() const
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
SelectiveNackFlowPDUDescriptor()
virtual const char * getProperty(const char *propertyname) const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual const char ** getPropertyNames() const override
virtual const char * getFieldStructName(int field) const override
const char ** propertynames
unsigned int sndRightWinEdge
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual int findField(const char *fieldName) const override
virtual bool doesSupport(omnetpp::cObject *obj) const override
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual const char * getFieldStructName(int field) const override
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
virtual const char ** getPropertyNames() const override
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual const char ** getPropertyNames() const override
ControlAckPDU(const char *name=nullptr, int kind=0)
void copy(const ControlPDU &other)
virtual const char ** getFieldPropertyNames(int field) const override
virtual const char * getFieldTypeString(int field) const override
virtual void setNackListLen(unsigned int nackListLen)
virtual bool doesSupport(omnetpp::cObject *obj) const override
virtual const char * getFieldTypeString(int field) const override
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual int findField(const char *fieldName) const override
virtual bool doesSupport(omnetpp::cObject *obj) const override
virtual const char ** getPropertyNames() const override
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual const char ** getFieldPropertyNames(int field) const override
AckOnlyPDU & operator=(const AckOnlyPDU &other)
virtual unsigned int getFieldTypeFlags(int field) const override
virtual const char ** getPropertyNames() const override
virtual ~SelectiveNackPDUDescriptor()
virtual const char * getFieldTypeString(int field) const override
ControlAckPDUDescriptor()
virtual const char ** getFieldPropertyNames(int field) const override
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual const char * getFieldTypeString(int field) const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual unsigned int getLastCtrlSeqNumRcv() const
virtual bool doesSupport(omnetpp::cObject *obj) const override
RendezvousPDU & operator=(const RendezvousPDU &other)
virtual const char * getFieldName(int field) const override
ControlPDU & operator=(const ControlPDU &other)
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual int findField(const char *fieldName) const override
NackFlowPDU(const char *name=nullptr, int kind=0)
virtual void setTimeUnit(unsigned long timeUnit)
virtual unsigned int getSndLeftWinEdge() const
virtual bool doesSupport(omnetpp::cObject *obj) const override
SelectiveAckFlowPDU(const char *name=nullptr, int kind=0)
FlowControlOnlyPDUDescriptor()
virtual ~ControlPDUDescriptor()
void doParsimPacking(omnetpp::cCommBuffer *buffer, const std::vector< T, A > &v)
virtual int getFieldCount() const override
virtual unsigned int getFieldTypeFlags(int field) const override
virtual const char * getFieldName(int field) const override
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual const char ** getPropertyNames() const override
virtual void setType(int type)
virtual int getFieldArraySize(void *object, int field) const override
unsigned int newLeftWinEdge
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual const char * getFieldTypeString(int field) const override
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual unsigned int getFieldTypeFlags(int field) const override
virtual unsigned int getRcvLeftWinEdge() const
unsigned int sndLeftWinEdge
virtual int getFieldArraySize(void *object, int field) const override
virtual int getFieldArraySize(void *object, int field) const override
virtual unsigned int getNackListArraySize() const
virtual ~SelectiveNackFlowPDUDescriptor()
virtual const char * getFieldStructName(int field) const override
void copy(const SelectiveAckPDU &other)
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
void copy(const NAckPDU &other)
SelectiveAckPDU & operator=(const SelectiveAckPDU &other)
SelectiveNackPDU(const char *name=nullptr, int kind=0)
virtual ~SelectiveNackFlowPDU()
AckFlowPDU(const char *name=nullptr, int kind=0)
virtual unsigned int getFieldTypeFlags(int field) const override
unsigned int sndLeftWinEdge
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual const char * getFieldName(int field) const override
unsigned int rcvRightWinEdge
virtual unsigned int getRcvRate() const
virtual void setNackList(unsigned int k, unsigned int nackList)
virtual int findField(const char *fieldName) const override
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual const char * getProperty(const char *propertyname) const override
void copy(const SelectiveAckFlowPDU &other)
virtual unsigned int getFieldTypeFlags(int field) const override
virtual void setAckNackSeqNum(unsigned int ackNackSeqNum)
void copy(const FlowControlOnlyPDU &other)
virtual const char ** getFieldPropertyNames(int field) const override
virtual int findField(const char *fieldName) const override
virtual ~NackOnlyPDUDescriptor()
virtual int getFieldCount() const override
void copy(const FlowControlPDU &other)
virtual int getFieldCount() const override
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual int getFieldCount() const override
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual const char * getProperty(const char *propertyname) const override
virtual bool doesSupport(omnetpp::cObject *obj) const override
void doParsimUnpacking(omnetpp::cCommBuffer *buffer, std::vector< T, A > &v)
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual const char * getFieldStructName(int field) const override
virtual unsigned int getFieldTypeFlags(int field) const override
virtual int getFieldArraySize(void *object, int field) const override
virtual unsigned int getNewLeftWinEdge() const
virtual const char ** getFieldPropertyNames(int field) const override
virtual bool doesSupport(omnetpp::cObject *obj) const override
const char ** propertynames
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual const char * getFieldStructName(int field) const override
virtual ~SelectiveAckFlowPDUDescriptor()
virtual unsigned int getRcvRate() const
virtual const char ** getFieldPropertyNames(int field) const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
virtual ~SelectiveNAckFlow()
NAckPDU(const char *name=nullptr, int kind=0)
virtual const char * getFieldName(int field) const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
const char ** propertynames
virtual ~SelectiveAckPDU()
virtual int findField(const char *fieldName) const override
void doParsimArrayUnpacking(omnetpp::cCommBuffer *b, T *t, int n)
virtual void setRcvLeftWinEdge(unsigned int rcvLeftWinEdge)
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual unsigned int getFieldTypeFlags(int field) const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
virtual const char ** getFieldPropertyNames(int field) const override
virtual int getFieldArraySize(void *object, int field) const override
virtual int getFieldArraySize(void *object, int field) const override
virtual const char ** getFieldPropertyNames(int field) const override
virtual const char * getProperty(const char *propertyname) const override
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual int findField(const char *fieldName) const override
virtual const char * getFieldName(int field) const override
const char ** propertynames
virtual int getFieldCount() const override
virtual unsigned int getFieldTypeFlags(int field) const override
unsigned int ackNackSeqNum
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual ~RendezvousPDUDescriptor()
virtual const char * getFieldTypeString(int field) const override
Register_Class(ControlPDU)
virtual int getFieldCount() const override
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual ~NackFlowPDUDescriptor()
void copy(const NackFlowPDU &other)
virtual unsigned int getRcvRightWinEdge() const
virtual const char ** getPropertyNames() const override
virtual int getFieldCount() const override
virtual const char * getFieldTypeString(int field) const override
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
SelectiveNAckFlow(const char *name=nullptr, int kind=0)
virtual int getFieldCount() const override
virtual const char ** getPropertyNames() const override
ControlPDU(const char *name=nullptr, int kind=0)
RendezvousPDU(const char *name=nullptr, int kind=0)
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual const char ** getPropertyNames() const override
NackFlowPDU & operator=(const NackFlowPDU &other)
virtual const char * getFieldStructName(int field) const override
virtual const char * getProperty(const char *propertyname) const override
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual unsigned int getNackList(unsigned int k) const
virtual int getFieldArraySize(void *object, int field) const override
virtual const char * getFieldStructName(int field) const override
ControlAckPDU & operator=(const ControlAckPDU &other)
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual const char ** getPropertyNames() const override
AckOnlyPDU(const char *name=nullptr, int kind=0)
virtual const char * getProperty(const char *propertyname) const override
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
unsigned int lastCtrlSeqNumRcv
virtual bool doesSupport(omnetpp::cObject *obj) const override
virtual void setRcvRate(unsigned int rcvRate)
virtual unsigned int getRendezSeqNum() const
virtual const char * getFieldName(int field) const override
unsigned int rcvRightWinEdge
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
virtual bool doesSupport(omnetpp::cObject *obj) const override
virtual unsigned int getNackListLen() const
virtual const char * getFieldTypeString(int field) const override
virtual int findField(const char *fieldName) const override
virtual unsigned int getFieldTypeFlags(int field) const override
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
void copy(const AckOnlyPDU &other)
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual int getFieldCount() const override
virtual int getFieldArraySize(void *object, int field) const override
void copy(const NackOnlyPDU &other)
virtual ~ControlAckPDUDescriptor()
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
unsigned int rcvLeftWinEdge
FlowControlOnlyPDU(const char *name=nullptr, int kind=0)
const char ** propertynames
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual ~SelectiveAckFlowPDU()
FlowControlPDU & operator=(const FlowControlPDU &other)
virtual bool doesSupport(omnetpp::cObject *obj) const override
virtual void setLastCtrlSeqNumRcv(unsigned int lastCtrlSeqNumRcv)
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
virtual int findField(const char *fieldName) const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
SelectiveNackPDUDescriptor()
SelectiveNackFlowPDU(const char *name=nullptr, int kind=0)
virtual int findField(const char *fieldName) const override
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
virtual void setRcvRightWinEdge(unsigned int rcvRightWinEdge)
virtual const char * getFieldName(int field) const override
Register_ClassDescriptor(ControlPDUDescriptor)
virtual const char * getFieldName(int field) const override
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual void setSndRate(unsigned int sndRate)
virtual void parsimPack(omnetpp::cCommBuffer *b) const
const char ** propertynames
void copy(const RendezvousPDU &other)
virtual ~SelectiveNackPDU()
virtual const char ** getFieldPropertyNames(int field) const override
virtual void setSndRightWinEdge(unsigned int sndRightWinEdge)
virtual void setNackListArraySize(unsigned int size)
virtual const char * getFieldStructName(int field) const override
virtual const char ** getFieldPropertyNames(int field) const override
virtual const char * getProperty(const char *propertyname) const override
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual const char * getProperty(const char *propertyname) const override
virtual void setSndLeftWinEdge(unsigned int sndLeftWinEdge)
virtual const char * getFieldProperty(int field, const char *propertyname) const override
void copy(const SelectiveNackFlowPDU &other)
void copy(const SelectiveNAckFlow &other)
SelectiveAckPDUDescriptor()
virtual ~FlowControlOnlyPDUDescriptor()
virtual unsigned int getAckNackSeqNum() const
unsigned int sndRightWinEdge
virtual const char ** getFieldPropertyNames(int field) const override
FlowControlOnlyPDU & operator=(const FlowControlOnlyPDU &other)
virtual const char * getFieldName(int field) const override
virtual const char * getProperty(const char *propertyname) const override
virtual ~NAckPDUDescriptor()
virtual int findField(const char *fieldName) const override
SelectiveAckPDU(const char *name=nullptr, int kind=0)
virtual unsigned int getSndRightWinEdge() const
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual int getFieldArraySize(void *object, int field) const override
virtual unsigned int getSndLeftWinEdge() const
virtual bool doesSupport(omnetpp::cObject *obj) const override
std::ostream & operator<<(std::ostream &out, const std::vector< T, A > &vec)
virtual bool doesSupport(omnetpp::cObject *obj) const override
virtual const char * getFieldTypeString(int field) const override
virtual const char * getFieldName(int field) const override
virtual const char * getFieldStructName(int field) const override
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual ~FlowControlPDU()
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual bool doesSupport(omnetpp::cObject *obj) const override
virtual unsigned int getFieldTypeFlags(int field) const override
virtual unsigned int getRcvRightWinEdge() const
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
const char ** propertynames
virtual bool setFieldValueAsString(void *object, int field, int i, const char *value) const override
SelectiveAckFlowPDU & operator=(const SelectiveAckFlowPDU &other)
const char ** propertynames
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual const char * getFieldName(int field) const override
virtual const char ** getPropertyNames() const override
virtual void setRendezSeqNum(unsigned int rendezSeqNum)
const char ** propertynames
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual const char * getFieldName(int field) const override
virtual void parsimUnpack(omnetpp::cCommBuffer *b)
virtual bool doesSupport(omnetpp::cObject *obj) const override
AckFlowPDU & operator=(const AckFlowPDU &other)
virtual void setSndLeftWinEdge(unsigned int sndLeftWinEdge)
virtual int findField(const char *fieldName) const override
virtual int getFieldCount() const override
virtual const char * getFieldStructName(int field) const override
virtual const char * getFieldProperty(int field, const char *propertyname) const override
virtual unsigned long getTimeUnit() const
virtual void parsimPack(omnetpp::cCommBuffer *b) const
virtual bool doesSupport(omnetpp::cObject *obj) const override
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
const char ** propertynames
virtual void * getFieldStructValuePointer(void *object, int field, int i) const override
virtual const char * getFieldTypeString(int field) const override
virtual const char * getFieldStructName(int field) const override
virtual const char * getProperty(const char *propertyname) const override
virtual int findField(const char *fieldName) const override
virtual int getFieldArraySize(void *object, int field) const override
virtual int getFieldArraySize(void *object, int field) const override
FlowControlPDUDescriptor()
virtual int getFieldCount() const override
virtual int getFieldCount() const override
void copy(const SelectiveNackPDU &other)
void doParsimArrayPacking(omnetpp::cCommBuffer *b, const T *t, int n)
for($i=0;$i< $p;$i++) for($i=0;$i< $p;$i++) for($i=0;$i< $f;$i++) for($i=0;$i< $e;$i++) for($i=0;$i< $p;$i++) for($i=0;$i< $p;$i++) for($i=0;$i< $e;$i++) for($i=0;$i< $f;$i++)
SelectiveAckFlowPDUDescriptor()
virtual const char * getFieldTypeString(int field) const override
virtual void parsimPack(omnetpp::cCommBuffer *b) const
unsigned int nackList_arraysize
virtual std::string getFieldValueAsString(void *object, int field, int i) const override
virtual const char * getFieldProperty(int field, const char *propertyname) const override
SelectiveNackPDU & operator=(const SelectiveNackPDU &other)
virtual const char ** getFieldPropertyNames(int field) const override
virtual const char * getFieldStructName(int field) const override
virtual const char * getProperty(const char *propertyname) const override