3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/dcsctp/OutstandingData.h"
7#include "mc/external/dcsctp/UnwrappedSequenceNumber.h"
8#include "mc/external/webrtc/StrongAlias.h"
12namespace dcsctp {
class DcSctpSocketCallbacks; }
13namespace dcsctp {
class HandoverReadinessStatus; }
14namespace dcsctp {
class SackChunk; }
15namespace dcsctp {
class SendQueue; }
16namespace dcsctp {
class StreamIDTag; }
17namespace dcsctp {
class TSNTag; }
18namespace dcsctp {
class Timer; }
19namespace dcsctp {
struct Data; }
20namespace dcsctp {
struct DcSctpOptions; }
21namespace dcsctp {
struct DcSctpSocketHandoverState; }
22namespace webrtc {
class TimeDelta; }
23namespace webrtc {
class Timestamp; }
31 enum class CongestionAlgorithmPhase :
int {
33 KCongestionAvoidance = 1,
71 MCNAPI ::std::vector<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort>>
BeginResetStreams();
75 MCNAPI ::std::vector<::std::pair<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>,
::dcsctp::Data>>
78 MCNAPI ::std::vector<::std::pair<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>,
::dcsctp::Data>>
108 ::std::string_view log_prefix,
114 ::std::function<
void()> on_clear_retransmission_counter,
117 bool supports_partial_reliability,
118 bool use_message_interleaving
145 ::std::string_view log_prefix,
151 ::std::function<
void()> on_clear_retransmission_counter,
154 bool supports_partial_reliability,
155 bool use_message_interleaving
Definition DcSctpSocketCallbacks.h:23
Definition RetransmissionQueue.h:28
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 uint64 GetSerializedChunkSize(::dcsctp::Data const &data) const
MCAPI void UpdateReceiverWindow(uint a_rwnd)
MCAPI ::std::vector<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > > BeginResetStreams()
MCAPI void MaybeExitFastRecovery(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > cumulative_tsn_ack)
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 uint64 max_bytes_to_send() const
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 UpdateRTT(::webrtc::Timestamp now, ::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > cumulative_tsn_ack)
MCAPI void HandleIncreasedCumulativeTsnAck(uint64 unacked_bytes, uint64 total_bytes_acked)
MCAPI void StartT3RtxTimerIfOutstandingData()
MCAPI void RestoreFromState(::dcsctp::DcSctpSocketHandoverState const &state)
MCAPI bool IsSackValid(::dcsctp::SackChunk const &sack) const
MCAPI void HandlePacketLoss(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > highest_tsn_acked)
Definition SackChunk.h:18
Definition SendQueue.h:18
Definition UnwrappedSequenceNumber.h:8
Definition StrongAlias.h:8
Definition TimeDelta.h:10
Definition Timestamp.h:10
Definition DcSctpOptions.h:7
Definition DcSctpSocketHandoverState.h:7