3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/dcsctp/SackChunk.h"
7#include "mc/external/dcsctp/UnwrappedSequenceNumber.h"
8#include "mc/external/webrtc/StrongAlias.h"
18namespace dcsctp {
class TSNTag; }
19namespace dcsctp {
struct Data; }
26class OutstandingData {
35 enum class State :
int {
38 KToBeRetransmitted = 2,
56 AckInfo& operator=(AckInfo
const&);
57 AckInfo(AckInfo
const&);
76 enum class AckState : uchar {
82 enum class Lifecycle : uchar {
84 KToBeRetransmitted = 1,
88 enum class NackAction :
int {
111 Item& operator=(Item
const&);
158 OutstandingData& operator=(OutstandingData
const&);
159 OutstandingData(OutstandingData
const&);
181 MCNAPI ::std::vector<::std::pair<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>,
::dcsctp::Data>>
187 MCNAPI ::std::vector<::std::pair<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>,
::dcsctp::Data>>
190 MCNAPI ::std::vector<::std::pair<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>,
::dcsctp::Data>>
196 bool is_in_fast_recovery
199 MCNAPI ::std::optional<::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>>>
Insert(
218 bool do_fast_retransmit
222 uint64 data_chunk_header_size,
224 ::std::function<
bool(
227 )> discard_from_send_queue
241 MCNAPI ::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>>
251 uint64 data_chunk_header_size,
253 ::std::function<
bool(
256 )> discard_from_send_queue
Definition ForwardTsnChunk.h:17
Definition IForwardTsnChunk.h:17
Definition LifecycleId.h:15
Definition MaxRetransmits.h:15
Definition OutgoingMessageIdTag.h:7
Definition OutstandingData.h:73
MCAPI Item(::webrtc::StrongAlias<::dcsctp::OutgoingMessageIdTag, uint > message_id, ::dcsctp::Data data, ::webrtc::Timestamp time_sent, ::dcsctp::MaxRetransmits max_retransmissions, ::webrtc::Timestamp expires_at, ::dcsctp::LifecycleId lifecycle_id)
MCAPI void * $ctor(::webrtc::StrongAlias<::dcsctp::OutgoingMessageIdTag, uint > message_id, ::dcsctp::Data data, ::webrtc::Timestamp time_sent, ::dcsctp::MaxRetransmits max_retransmissions, ::webrtc::Timestamp expires_at, ::dcsctp::LifecycleId lifecycle_id)
MCAPI::webrtc::TimeDelta MeasureRTT(::webrtc::Timestamp now, ::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > tsn) const
MCAPI bool ShouldSendForwardTsn() const
MCAPI ::std::vector<::std::pair<::webrtc::StrongAlias<::dcsctp::TSNTag, uint >, ::dcsctp::Data > > GetChunksToBeRetransmitted(uint64 max_size)
MCAPI void * $ctor(uint64 data_chunk_header_size, ::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > last_cumulative_tsn_ack, ::std::function< bool(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort >, ::webrtc::StrongAlias<::dcsctp::OutgoingMessageIdTag, uint >)> discard_from_send_queue)
MCAPI::dcsctp::OutstandingData::AckInfo HandleSack(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > cumulative_tsn_ack, ::rtc::ArrayView<::dcsctp::SackChunk::GapAckBlock const > gap_ack_blocks, bool is_in_fast_recovery)
MCAPI void ExpireOutstandingChunks(::webrtc::Timestamp now)
MCAPI ::std::vector<::std::pair<::webrtc::StrongAlias<::dcsctp::TSNTag, uint >, ::dcsctp::Data > > GetChunksToBeFastRetransmitted(uint64 max_size)
MCAPI::dcsctp::IForwardTsnChunk CreateIForwardTsn() const
MCAPI ::std::vector<::std::pair<::webrtc::StrongAlias<::dcsctp::TSNTag, uint >, ::dcsctp::Data > > ExtractChunksThatCanFit(::std::set<::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > > &chunks, uint64 max_size)
MCAPI void BeginResetStreams()
MCAPI OutstandingData(uint64 data_chunk_header_size, ::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > last_cumulative_tsn_ack, ::std::function< bool(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort >, ::webrtc::StrongAlias<::dcsctp::OutgoingMessageIdTag, uint >)> discard_from_send_queue)
MCAPI void AckChunk(::dcsctp::OutstandingData::AckInfo &ack_info, ::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > tsn, ::dcsctp::OutstandingData::Item &item)
MCAPI ::std::optional<::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > > Insert(::webrtc::StrongAlias<::dcsctp::OutgoingMessageIdTag, uint > message_id, ::dcsctp::Data const &data, ::webrtc::Timestamp time_sent, ::dcsctp::MaxRetransmits max_retransmissions, ::webrtc::Timestamp expires_at, ::dcsctp::LifecycleId lifecycle_id)
MCAPI void AbandonAllFor(::dcsctp::OutstandingData::Item const &item)
MCAPI ::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > highest_outstanding_tsn() const
MCAPI::dcsctp::ForwardTsnChunk CreateForwardTsn() const
MCAPI void ResetSequenceNumbers(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > last_cumulative_tsn)
MCAPI bool NackItem(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > tsn, bool retransmit_now, bool do_fast_retransmit)
MCAPI void RemoveAcked(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > cumulative_tsn_ack, ::dcsctp::OutstandingData::AckInfo &ack_info)
Definition StreamIDTag.h:7
Definition UnwrappedSequenceNumber.h:8
Definition _HeaderOutputPredefine.h:310
Definition StrongAlias.h:8
Definition TimeDelta.h:10
Definition Timestamp.h:15
Definition OutstandingData.h:43