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
21class DataTracker {
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
36 class AdditionalTsnBlocks {
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
67 AdditionalTsnBlocks& operator=(AdditionalTsnBlocks const&);
68 AdditionalTsnBlocks(AdditionalTsnBlocks const&);
69 AdditionalTsnBlocks();
70
71 public:
72 // member functions
73 // NOLINTBEGIN
75
77 // NOLINTEND
78
79 public:
80 // destructor thunk
81 // NOLINTBEGIN
82 MCNAPI void $dtor();
83 // NOLINTEND
84 };
85
86public:
87 // member variables
88 // NOLINTBEGIN
97 // NOLINTEND
98
99public:
100 // prevent constructor by default
101 DataTracker& operator=(DataTracker const&);
102 DataTracker(DataTracker const&);
103 DataTracker();
104
105public:
106 // member functions
107 // NOLINTBEGIN
109
110 MCNAPI ::std::vector<::dcsctp::SackChunk::GapAckBlock> CreateGapAckBlocks() const;
111
112 MCNAPI ::dcsctp::SackChunk CreateSelectiveAck(uint64 a_rwnd);
113
114 MCNAPI void ForceImmediateSack();
115
116 MCNAPI ::dcsctp::HandoverReadinessStatus GetHandoverReadiness() const;
117
119
121
123
124 MCNAPI bool Observe(
127 );
128
129 MCNAPI void ObservePacketEnd();
130
132
133 MCNAPI bool ShouldSendAck(bool also_if_delayed);
134
136
137 MCNAPI ~DataTracker();
138 // NOLINTEND
139
140public:
141 // destructor thunk
142 // NOLINTBEGIN
143 MCNAPI void $dtor();
144 // NOLINTEND
145};
146
147} // namespace dcsctp
Definition DataTracker.h:36
MCAPI bool Add(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > tsn)
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 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 HandoverReadinessStatus.h:15
Definition ImmediateAckFlagTag.h:7
Definition SackChunk.h:18
Definition TSNTag.h:7
Definition UnwrappedSequenceNumber.h:8
Definition StrongAlias.h:8
Definition DcSctpSocketHandoverState.h:7
Definition Alias.h:14