LeviLamina
Loading...
Searching...
No Matches
DataTracker.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/dcsctp/SackChunk.h"
7#include "mc/external/dcsctp/UnwrappedSequenceNumber.h"
8#include "mc/external/webrtc/StrongAlias.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace dcsctp { class HandoverReadinessStatus; }
13namespace dcsctp { class ImmediateAckFlagTag; }
14namespace dcsctp { class SackChunk; }
15namespace dcsctp { class TSNTag; }
16namespace dcsctp { struct DcSctpSocketHandoverState; }
17// clang-format on
18
19namespace dcsctp {
20
22public:
23 // DataTracker inner types declare
24 // clang-format off
26 // clang-format on
27
28 // DataTracker inner types define
29 enum class AckState : int {
30 KIdle = 0,
31 KBecomingDelayed = 1,
32 KDelayed = 2,
33 KImmediate = 3,
34 };
35
37 public:
38 // AdditionalTsnBlocks inner types declare
39 // clang-format off
40 struct TsnRange;
41 // clang-format on
42
43 // AdditionalTsnBlocks inner types define
44 struct TsnRange {
45 public:
46 // member variables
47 // NOLINTBEGIN
50 // NOLINTEND
51
52 public:
53 // prevent constructor by default
54 TsnRange& operator=(TsnRange const&);
55 TsnRange(TsnRange const&);
56 TsnRange();
57 };
58
59 public:
60 // member variables
61 // NOLINTBEGIN
63 // NOLINTEND
64
65 public:
66 // prevent constructor by default
70
71 public:
72 // member functions
73 // NOLINTBEGIN
75
77
78 MCNAPI void PopFront();
79
81 // NOLINTEND
82
83 public:
84 // destructor thunk
85 // NOLINTBEGIN
86 MCNAPI void $dtor();
87 // NOLINTEND
88 };
89
90public:
91 // member variables
92 // NOLINTBEGIN
101 // NOLINTEND
102
103public:
104 // prevent constructor by default
105 DataTracker& operator=(DataTracker const&);
106 DataTracker(DataTracker const&);
107 DataTracker();
108
109public:
110 // member functions
111 // NOLINTBEGIN
113
114 MCNAPI ::std::vector<::dcsctp::SackChunk::GapAckBlock> CreateGapAckBlocks() const;
115
116 MCNAPI ::dcsctp::SackChunk CreateSelectiveAck(uint64 a_rwnd);
117
118 MCNAPI void ForceImmediateSack();
119
120 MCNAPI ::dcsctp::HandoverReadinessStatus GetHandoverReadiness() const;
121
123
125
127
128 MCNAPI bool Observe(
131 );
132
133 MCNAPI void ObservePacketEnd();
134
136
137 MCNAPI bool ShouldSendAck(bool also_if_delayed);
138
139 MCNAPI void UpdateAckState(::dcsctp::DataTracker::AckState new_state, ::std::string_view reason);
140
142
143 MCNAPI ~DataTracker();
144 // NOLINTEND
145
146public:
147 // destructor thunk
148 // NOLINTBEGIN
149 MCNAPI void $dtor();
150 // NOLINTEND
151};
152
153} // namespace dcsctp
Definition DataTracker.h:36
MCAPI bool Add(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > tsn)
MCAPI void EraseTo(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > tsn)
Definition DataTracker.h:21
MCAPI void $dtor()
MCAPI::dcsctp::HandoverReadinessStatus GetHandoverReadiness() const
MCAPI void HandleDelayedAckTimerExpiry()
MCAPI bool HandleForwardTsn(::webrtc::StrongAlias<::dcsctp::TSNTag, uint > new_cumulative_ack)
MCAPI void ObservePacketEnd()
MCAPI void ForceImmediateSack()
MCAPI bool IsTSNValid(::webrtc::StrongAlias<::dcsctp::TSNTag, uint > tsn) const
MCAPI bool Observe(::webrtc::StrongAlias<::dcsctp::TSNTag, uint > tsn, ::webrtc::StrongAlias<::dcsctp::ImmediateAckFlagTag, bool > immediate_ack)
MCAPI ::std::vector<::dcsctp::SackChunk::GapAckBlock > CreateGapAckBlocks() const
MCAPI void RestoreFromState(::dcsctp::DcSctpSocketHandoverState const &state)
MCAPI void UpdateAckState(::dcsctp::DataTracker::AckState new_state, ::std::string_view reason)
MCAPI bool will_increase_cum_ack_tsn(::webrtc::StrongAlias<::dcsctp::TSNTag, uint > tsn) const
MCAPI::dcsctp::SackChunk CreateSelectiveAck(uint64 a_rwnd)
MCAPI void AddHandoverState(::dcsctp::DcSctpSocketHandoverState &state)
MCAPI bool ShouldSendAck(bool also_if_delayed)
Definition UnwrappedSequenceNumber.h:8
Definition StrongAlias.h:8
Definition DcSctpSocketHandoverState.h:7
Definition Alias.h:14