Item that encloses the application packet and some flags for it. More...
#include "tcp-tx-item.h"
Collaboration diagram for ns3::TcpTxItem:Classes | |
| struct | RateInformation |
| Various rate-related information, can be accessed by TcpRateOps. More... | |
Public Member Functions | |
| const Time & | GetLastSent (void) const |
| Get a reference to the time the packet was sent for the last time. More... | |
| Ptr< const Packet > | GetPacket (void) const |
| Get the Packet underlying this item. More... | |
| Ptr< Packet > | GetPacketCopy (void) const |
| Get a copy of the Packet underlying this item. More... | |
| RateInformation & | GetRateInformation (void) |
| Get (to modify) the Rate Information of this item. More... | |
| uint32_t | GetSeqSize (void) const |
| Get the size in the sequence number space. More... | |
| bool | IsRetrans (void) const |
| Is the item retransmitted? More... | |
| bool | IsSacked (void) const |
| Is the item sacked? More... | |
| void | Print (std::ostream &os, Time::Unit unit=Time::S) const |
| Print the time. More... | |
Public Attributes | |
| bool | m_retrans {false} |
| Indicates if the segment is retransmitted. More... | |
Private Attributes | |
| Time | m_lastSent {Time::Max ()} |
| Timestamp of the time at which the segment has been sent last time. More... | |
| bool | m_lost {false} |
| Indicates if the segment has been lost (RTO) More... | |
| Ptr< Packet > | m_packet {nullptr} |
| Application packet (can be null) More... | |
| RateInformation | m_rateInfo |
| Rate information of the item. More... | |
| bool | m_sacked {false} |
| Indicates if the segment has been SACKed. More... | |
| SequenceNumber32 | m_startSeq {0} |
| Sequence number of the item (if transmitted) More... | |
Friends | |
| class | TcpTxBuffer |
Item that encloses the application packet and some flags for it.
Definition at line 32 of file tcp-tx-item.h.
| const Time & ns3::TcpTxItem::GetLastSent | ( | void | ) | const |
Get a reference to the time the packet was sent for the last time.
Definition at line 92 of file tcp-tx-item.cc.
References m_lastSent.
Referenced by ns3::TcpRateLinux::SkbDelivered().
Here is the caller graph for this function:Get the Packet underlying this item.
Definition at line 86 of file tcp-tx-item.cc.
References m_packet.
Get a copy of the Packet underlying this item.
Definition at line 80 of file tcp-tx-item.cc.
References ns3::Packet::Copy(), and m_packet.
Referenced by ns3::TcpTxBuffer::DiscardUpTo(), ns3::TcpSocketBase::SendDataPacket(), and TcpTxBufferTestCase::TestNewBlock().
Here is the call graph for this function:
Here is the caller graph for this function:| TcpTxItem::RateInformation & ns3::TcpTxItem::GetRateInformation | ( | void | ) |
Get (to modify) the Rate Information of this item.
Definition at line 98 of file tcp-tx-item.cc.
References m_rateInfo.
Referenced by TcpRateLinuxBasicTest::SendSkb(), TcpRateLinuxBasicTest::SkbDelivered(), ns3::TcpRateLinux::SkbDelivered(), and ns3::TcpRateLinux::SkbSent().
Here is the caller graph for this function:| uint32_t ns3::TcpTxItem::GetSeqSize | ( | void | ) | const |
Get the size in the sequence number space.
Definition at line 62 of file tcp-tx-item.cc.
References ns3::Packet::GetSize(), and m_packet.
Referenced by Print(), TcpRateLinuxBasicTest::SendSkb(), TcpRateLinuxBasicTest::SkbDelivered(), and ns3::TcpRateLinux::SkbDelivered().
Here is the call graph for this function:
Here is the caller graph for this function:| bool ns3::TcpTxItem::IsRetrans | ( | void | ) | const |
Is the item retransmitted?
Definition at line 74 of file tcp-tx-item.cc.
References m_retrans.
Referenced by ns3::TcpSocketBase::SendDataPacket().
Here is the caller graph for this function:| bool ns3::TcpTxItem::IsSacked | ( | void | ) | const |
Is the item sacked?
Definition at line 68 of file tcp-tx-item.cc.
References m_sacked.
| void ns3::TcpTxItem::Print | ( | std::ostream & | os, |
| Time::Unit | unit = Time::S |
||
| ) | const |
Print the time.
| os | ostream |
| unit | Time::Unit |
Definition at line 24 of file tcp-tx-item.cc.
References ns3::Time::As(), GetSeqSize(), m_lastSent, m_lost, m_retrans, m_sacked, and m_startSeq.
Referenced by ns3::operator<<().
Here is the call graph for this function:
Here is the caller graph for this function:
|
friend |
Definition at line 107 of file tcp-tx-item.h.
Timestamp of the time at which the segment has been sent last time.
Definition at line 112 of file tcp-tx-item.h.
Referenced by ns3::TcpTxBuffer::CopyFromSequence(), GetLastSent(), ns3::TcpTxBuffer::MergeItems(), Print(), and ns3::TcpTxBuffer::SplitItems().
|
private |
Indicates if the segment has been lost (RTO)
Definition at line 111 of file tcp-tx-item.h.
Referenced by ns3::TcpTxBuffer::DiscardUpTo(), ns3::TcpTxBuffer::IsLostRFC(), ns3::TcpTxBuffer::MergeItems(), ns3::TcpTxBuffer::NextSeg(), Print(), ns3::TcpTxBuffer::RemoveFromCounts(), ns3::TcpTxBuffer::ResetSentList(), ns3::TcpTxBuffer::SplitItems(), and ns3::TcpTxBuffer::UpdateLostCount().
Application packet (can be null)
Definition at line 110 of file tcp-tx-item.h.
Referenced by ns3::TcpTxBuffer::Add(), ns3::TcpTxBuffer::BytesInFlightRFC(), ns3::TcpTxBuffer::DiscardUpTo(), ns3::TcpTxBuffer::FindHighestSacked(), ns3::TcpTxBuffer::GetNewSegment(), GetPacket(), GetPacketCopy(), ns3::TcpTxBuffer::GetPacketFromList(), GetSeqSize(), ns3::TcpTxBuffer::GetTransmittedSegment(), ns3::TcpTxBuffer::IsLostRFC(), ns3::TcpTxBuffer::IsRetransmittedDataAcked(), ns3::TcpTxBuffer::MergeItems(), ns3::TcpTxBuffer::NextSeg(), ns3::TcpTxBuffer::ResetLastSegmentSent(), ns3::TcpTxBuffer::SplitItems(), ns3::TcpTxBuffer::UpdateLostCount(), and ns3::TcpTxBuffer::~TcpTxBuffer().
|
private |
Rate information of the item.
Definition at line 115 of file tcp-tx-item.h.
Referenced by GetRateInformation().
| bool ns3::TcpTxItem::m_retrans {false} |
Indicates if the segment is retransmitted.
Definition at line 102 of file tcp-tx-item.h.
Referenced by ns3::TcpTxBuffer::BytesInFlightRFC(), ns3::TcpTxBuffer::CopyFromSequence(), ns3::TcpTxBuffer::GetTransmittedSegment(), ns3::TcpTxBuffer::IsLostRFC(), IsRetrans(), ns3::TcpTxBuffer::IsRetransmittedDataAcked(), ns3::TcpTxBuffer::MergeItems(), ns3::TcpTxBuffer::NextSeg(), Print(), ns3::TcpTxBuffer::RemoveFromCounts(), ns3::TcpTxBuffer::ResetLastSegmentSent(), ns3::TcpTxBuffer::ResetSentList(), and ns3::TcpTxBuffer::SplitItems().
|
private |
Indicates if the segment has been SACKed.
Definition at line 113 of file tcp-tx-item.h.
Referenced by ns3::TcpTxBuffer::BytesInFlightRFC(), ns3::TcpTxBuffer::CopyFromSequence(), ns3::TcpTxBuffer::DiscardUpTo(), ns3::TcpTxBuffer::FindHighestSacked(), ns3::TcpTxBuffer::IsLostRFC(), ns3::TcpTxBuffer::IsRetransmittedDataAcked(), IsSacked(), ns3::TcpTxBuffer::MergeItems(), ns3::TcpTxBuffer::NextSeg(), Print(), ns3::TcpTxBuffer::RemoveFromCounts(), ns3::TcpTxBuffer::ResetSentList(), ns3::TcpTxBuffer::SplitItems(), and ns3::TcpTxBuffer::UpdateLostCount().
|
private |
Sequence number of the item (if transmitted)
Definition at line 109 of file tcp-tx-item.h.
Referenced by ns3::TcpTxBuffer::CopyFromSequence(), ns3::TcpTxBuffer::DiscardUpTo(), ns3::TcpTxBuffer::GetNewSegment(), ns3::TcpTxBuffer::GetPacketFromList(), ns3::TcpTxBuffer::IsRetransmittedDataAcked(), Print(), and ns3::TcpTxBuffer::SplitItems().