3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/dcsctp/OutstandingData.h"
7#include "mc/external/webrtc/StrongAlias.h"
16namespace dcsctp {
class TSNTag; }
17namespace dcsctp {
class Timer; }
18namespace dcsctp {
struct Data; }
27class RetransmissionQueue {
30 enum class CongestionAlgorithmPhase :
int {
32 KCongestionAvoidance = 1,
61 RetransmissionQueue& operator=(RetransmissionQueue
const&);
62 RetransmissionQueue(RetransmissionQueue
const&);
63 RetransmissionQueue();
70 MCNAPI ::std::vector<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort>>
BeginResetStreams();
74 MCNAPI ::std::vector<::std::pair<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>,
::dcsctp::Data>>
77 MCNAPI ::std::vector<::std::pair<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>,
::dcsctp::Data>>
93 ::std::string_view log_prefix,
99 ::std::function<
void()> on_clear_retransmission_counter,
102 bool supports_partial_reliability,
103 bool use_message_interleaving
119 ::std::string_view log_prefix,
125 ::std::function<
void()> on_clear_retransmission_counter,
128 bool supports_partial_reliability,
129 bool use_message_interleaving
Definition DcSctpSocketCallbacks.h:23
Definition HandoverReadinessStatus.h:15
MCAPI bool ShouldSendForwardTsn(::webrtc::Timestamp now)
MCAPI ::std::vector<::std::pair<::webrtc::StrongAlias<::dcsctp::TSNTag, uint >, ::dcsctp::Data > > GetChunksForFastRetransmit(uint64 bytes_in_packet)
MCAPI RetransmissionQueue(::std::string_view log_prefix, ::dcsctp::DcSctpSocketCallbacks *callbacks, ::webrtc::StrongAlias<::dcsctp::TSNTag, uint > my_initial_tsn, uint64 a_rwnd, ::dcsctp::SendQueue &send_queue, ::std::function< void(::webrtc::TimeDelta)> on_new_rtt, ::std::function< void()> on_clear_retransmission_counter, ::dcsctp::Timer &t3_rtx, ::dcsctp::DcSctpOptions const &options, bool supports_partial_reliability, bool use_message_interleaving)
MCAPI void HandleT3RtxTimerExpiry()
MCAPI ~RetransmissionQueue()
MCAPI void CommitResetStreams()
MCAPI void AddHandoverState(::dcsctp::DcSctpSocketHandoverState &state)
MCAPI void RollbackResetStreams()
MCAPI void PrepareResetStream(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id)
MCAPI::dcsctp::HandoverReadinessStatus GetHandoverReadiness() const
MCAPI bool HasStreamsReadyToBeReset() const
MCAPI ::std::vector<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > > BeginResetStreams()
MCAPI void * $ctor(::std::string_view log_prefix, ::dcsctp::DcSctpSocketCallbacks *callbacks, ::webrtc::StrongAlias<::dcsctp::TSNTag, uint > my_initial_tsn, uint64 a_rwnd, ::dcsctp::SendQueue &send_queue, ::std::function< void(::webrtc::TimeDelta)> on_new_rtt, ::std::function< void()> on_clear_retransmission_counter, ::dcsctp::Timer &t3_rtx, ::dcsctp::DcSctpOptions const &options, bool supports_partial_reliability, bool use_message_interleaving)
MCAPI ::std::vector<::std::pair<::webrtc::StrongAlias<::dcsctp::TSNTag, uint >, ::dcsctp::Data > > GetChunksToSend(::webrtc::Timestamp now, uint64 bytes_remaining_in_packet)
MCAPI bool can_send_data() const
MCAPI bool HandleSack(::webrtc::Timestamp now, ::dcsctp::SackChunk const &sack)
MCAPI void RestoreFromState(::dcsctp::DcSctpSocketHandoverState const &state)
Definition SackChunk.h:18
Definition SendQueue.h:18
Definition StreamIDTag.h:7
Definition StrongAlias.h:8
Definition TimeDelta.h:10
Definition Timestamp.h:15
Definition DcSctpOptions.h:7
Definition DcSctpSocketHandoverState.h:7