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 () const |
| Get a reference to the time the packet was sent for the last time. | |
| Ptr< const Packet > | GetPacket () const |
| Get the Packet underlying this item. | |
| Ptr< Packet > | GetPacketCopy () const |
| Get a copy of the Packet underlying this item. | |
| RateInformation & | GetRateInformation () |
| Get (to modify) the Rate Information of this item. | |
| uint32_t | GetSeqSize () const |
| Get the size in the sequence number space. | |
| bool | IsRetrans () const |
| Is the item retransmitted? | |
| bool | IsSacked () const |
| Is the item sacked? | |
| void | Print (std::ostream &os, Time::Unit unit=Time::S) const |
| Print the time. | |
Public Attributes | |
| bool | m_retrans {false} |
| Indicates if the segment is retransmitted. | |
Private Attributes | |
| Time | m_lastSent |
| Timestamp of the time at which the segment has been sent last time. | |
| bool | m_lost {false} |
| Indicates if the segment has been lost (RTO) | |
| Ptr< Packet > | m_packet {nullptr} |
| Application packet (can be null) | |
| RateInformation | m_rateInfo |
| Rate information of the item. | |
| bool | m_sacked {false} |
| Indicates if the segment has been SACKed. | |
| SequenceNumber32 | m_startSeq {0} |
| Sequence number of the item (if transmitted) | |
Friends | |
| class | TcpTxBuffer |
Item that encloses the application packet and some flags for it.
Definition at line 21 of file tcp-tx-item.h.
| const Time & ns3::TcpTxItem::GetLastSent | ( | ) | const |
Get a reference to the time the packet was sent for the last time.
Definition at line 80 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 74 of file tcp-tx-item.cc.
References m_packet.
Get a copy of the Packet underlying this item.
Definition at line 68 of file tcp-tx-item.cc.
References m_packet.
Referenced by ns3::TcpTxBuffer::DiscardUpTo(), and ns3::TcpSocketBase::SendDataPacket().
Here is the caller graph for this function:| TcpTxItem::RateInformation & ns3::TcpTxItem::GetRateInformation | ( | ) |
Get (to modify) the Rate Information of this item.
Definition at line 86 of file tcp-tx-item.cc.
References m_rateInfo.
Referenced by TcpRateLinuxBasicTest::SendSkb(), ns3::TcpRateLinux::SkbDelivered(), TcpRateLinuxBasicTest::SkbDelivered(), and ns3::TcpRateLinux::SkbSent().
Here is the caller graph for this function:| uint32_t ns3::TcpTxItem::GetSeqSize | ( | ) | const |
Get the size in the sequence number space.
Definition at line 50 of file tcp-tx-item.cc.
References m_packet.
Referenced by Print(), TcpRateLinuxBasicTest::SendSkb(), ns3::TcpRateLinux::SkbDelivered(), and TcpRateLinuxBasicTest::SkbDelivered().
Here is the caller graph for this function:| bool ns3::TcpTxItem::IsRetrans | ( | ) | const |
Is the item retransmitted?
Definition at line 62 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 | ( | ) | const |
Is the item sacked?
Definition at line 56 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 13 of file tcp-tx-item.cc.
References 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 |
|
private |
Timestamp of the time at which the segment has been sent last time.
Definition at line 103 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 102 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 101 of file tcp-tx-item.h.
Referenced by ns3::TcpTxBuffer::~TcpTxBuffer(), 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(), and ns3::TcpTxBuffer::UpdateLostCount().
|
private |
Rate information of the item.
Definition at line 107 of file tcp-tx-item.h.
Referenced by GetRateInformation().
| bool ns3::TcpTxItem::m_retrans {false} |
Indicates if the segment is retransmitted.
Definition at line 93 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 105 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 100 of file tcp-tx-item.h.
Referenced by ns3::TcpTxBuffer::CopyFromSequence(), ns3::TcpTxBuffer::DiscardUpTo(), ns3::TcpTxBuffer::GetNewSegment(), ns3::TcpTxBuffer::GetPacketFromList(), ns3::TcpTxBuffer::IsRetransmittedDataAcked(), ns3::TcpTxBuffer::NextSeg(), Print(), and ns3::TcpTxBuffer::SplitItems().