|
|
| 32 |
namespace ns3 { |
32 |
namespace ns3 { |
| 33 |
|
33 |
|
| 34 |
bool PacketMetadata::m_enable = false; |
34 |
bool PacketMetadata::m_enable = false; |
|
|
35 |
bool PacketMetadata::m_enableChecking = false; |
| 35 |
bool PacketMetadata::m_metadataSkipped = false; |
36 |
bool PacketMetadata::m_metadataSkipped = false; |
| 36 |
uint32_t PacketMetadata::m_maxSize = 0; |
37 |
uint32_t PacketMetadata::m_maxSize = 0; |
| 37 |
uint16_t PacketMetadata::m_chunkUid = 0; |
38 |
uint16_t PacketMetadata::m_chunkUid = 0; |
|
|
| 57 |
"to call ns3::PacketMetadata::Enable () near the beginning of" |
58 |
"to call ns3::PacketMetadata::Enable () near the beginning of" |
| 58 |
" the program, before any packets are sent."); |
59 |
" the program, before any packets are sent."); |
| 59 |
m_enable = true; |
60 |
m_enable = true; |
|
|
61 |
} |
| 62 |
|
| 63 |
void |
| 64 |
PacketMetadata::EnableChecking (void) |
| 65 |
{ |
| 66 |
Enable (); |
| 67 |
m_enableChecking = true; |
| 60 |
} |
68 |
} |
| 61 |
|
69 |
|
| 62 |
void |
70 |
void |
|
|
| 630 |
if ((item.typeUid & 0xfffffffe) != uid || |
638 |
if ((item.typeUid & 0xfffffffe) != uid || |
| 631 |
item.size != size) |
639 |
item.size != size) |
| 632 |
{ |
640 |
{ |
| 633 |
NS_FATAL_ERROR ("Removing unexpected header."); |
641 |
if (m_enableChecking) |
|
|
642 |
{ |
| 643 |
NS_FATAL_ERROR ("Removing unexpected header."); |
| 644 |
} |
| 645 |
return; |
| 634 |
} |
646 |
} |
| 635 |
else if (item.typeUid != uid && |
647 |
else if (item.typeUid != uid && |
| 636 |
(extraItem.fragmentStart != 0 || |
648 |
(extraItem.fragmentStart != 0 || |
| 637 |
extraItem.fragmentEnd != size)) |
649 |
extraItem.fragmentEnd != size)) |
| 638 |
{ |
650 |
{ |
| 639 |
NS_FATAL_ERROR ("Removing incomplete header."); |
651 |
if (m_enableChecking) |
|
|
652 |
{ |
| 653 |
NS_FATAL_ERROR ("Removing incomplete header."); |
| 654 |
} |
| 655 |
return; |
| 640 |
} |
656 |
} |
| 641 |
if (m_head + read == m_used) |
657 |
if (m_head + read == m_used) |
| 642 |
{ |
658 |
{ |
|
|
| 688 |
if ((item.typeUid & 0xfffffffe) != uid || |
704 |
if ((item.typeUid & 0xfffffffe) != uid || |
| 689 |
item.size != size) |
705 |
item.size != size) |
| 690 |
{ |
706 |
{ |
| 691 |
NS_FATAL_ERROR ("Removing unexpected trailer."); |
707 |
if (m_enableChecking) |
|
|
708 |
{ |
| 709 |
NS_FATAL_ERROR ("Removing unexpected trailer."); |
| 710 |
} |
| 711 |
return; |
| 692 |
} |
712 |
} |
| 693 |
else if (item.typeUid != uid && |
713 |
else if (item.typeUid != uid && |
| 694 |
(extraItem.fragmentStart != 0 || |
714 |
(extraItem.fragmentStart != 0 || |
| 695 |
extraItem.fragmentEnd != size)) |
715 |
extraItem.fragmentEnd != size)) |
| 696 |
{ |
716 |
{ |
| 697 |
NS_FATAL_ERROR ("Removing incomplete trailer."); |
717 |
if (m_enableChecking) |
|
|
718 |
{ |
| 719 |
NS_FATAL_ERROR ("Removing incomplete trailer."); |
| 720 |
} |
| 721 |
return; |
| 698 |
} |
722 |
} |
| 699 |
if (m_tail + read == m_used) |
723 |
if (m_tail + read == m_used) |
| 700 |
{ |
724 |
{ |