LeviLamina
Loading...
Searching...
No Matches
RetransmissionQueue.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/dcsctp/UnwrappedSequenceNumber.h"
7#include "mc/external/webrtc/StrongAlias.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace dcsctp { class DcSctpSocketCallbacks; }
12namespace dcsctp { class HandoverReadinessStatus; }
13namespace dcsctp { class SackChunk; }
14namespace dcsctp { class SendQueue; }
15namespace dcsctp { class StreamIDTag; }
16namespace dcsctp { class TSNTag; }
17namespace dcsctp { class Timer; }
18namespace dcsctp { struct Data; }
19namespace dcsctp { struct DcSctpOptions; }
20namespace dcsctp { struct DcSctpSocketHandoverState; }
21namespace webrtc { class TimeDelta; }
22namespace webrtc { class Timestamp; }
23// clang-format on
24
25namespace dcsctp {
26
28public:
29 // member functions
30 // NOLINTBEGIN
31 MCAPI void AddHandoverState(::dcsctp::DcSctpSocketHandoverState&);
32
33 MCAPI ::std::vector<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort>> BeginResetStreams();
34
35 MCAPI void CommitResetStreams();
36
37 MCAPI ::std::vector<::std::pair<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>, ::dcsctp::Data>>
38 GetChunksForFastRetransmit(uint64);
39
40 MCAPI ::std::vector<::std::pair<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>, ::dcsctp::Data>>
41 GetChunksToSend(::webrtc::Timestamp, uint64);
42
43 MCAPI ::dcsctp::HandoverReadinessStatus GetHandoverReadiness() const;
44
45 MCAPI uint64 GetSerializedChunkSize(::dcsctp::Data const&) const;
46
47 MCAPI void HandleIncreasedCumulativeTsnAck(uint64, uint64);
48
50
51 MCAPI bool HandleSack(::webrtc::Timestamp, ::dcsctp::SackChunk const&);
52
53 MCAPI void HandleT3RtxTimerExpiry();
54
55 MCAPI bool HasStreamsReadyToBeReset() const;
56
57 MCAPI bool IsSackValid(::dcsctp::SackChunk const&) const;
58
60
61 MCAPI void PrepareResetStream(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort>);
62
63 MCAPI void RestoreFromState(::dcsctp::DcSctpSocketHandoverState const&);
64
66 ::std::string_view,
69 uint64,
71 ::std::function<void(::webrtc::TimeDelta)>,
72 ::std::function<void()>,
75 bool,
76 bool
77 );
78
79 MCAPI void RollbackResetStreams();
80
81 MCAPI bool ShouldSendForwardTsn(::webrtc::Timestamp);
82
83 MCAPI void StartT3RtxTimerIfOutstandingData();
84
85 MCAPI void
87
88 MCAPI void UpdateReceiverWindow(uint);
89
90 MCAPI bool can_send_data() const;
91
92 MCAPI uint64 max_bytes_to_send() const;
93
95 // NOLINTEND
96
97public:
98 // constructor thunks
99 // NOLINTBEGIN
100 MCAPI void* $ctor(
101 ::std::string_view,
104 uint64,
106 ::std::function<void(::webrtc::TimeDelta)>,
107 ::std::function<void()>,
110 bool,
111 bool
112 );
113 // NOLINTEND
114
115public:
116 // destructor thunk
117 // NOLINTBEGIN
118 MCAPI void $dtor();
119 // NOLINTEND
120};
121
122} // namespace dcsctp
Definition Timer.h:5
Definition DcSctpSocketCallbacks.h:7
Definition RetransmissionQueue.h:27
Definition SackChunk.h:15
Definition SendQueue.h:16
Definition Timer.h:19
Definition UnwrappedSequenceNumber.h:8
Definition StrongAlias.h:8
Definition TimeDelta.h:10
Definition Timestamp.h:10
Definition Data.h:22
Definition DcSctpOptions.h:7
Definition DcSctpSocketHandoverState.h:7