LeviLamina
Loading...
Searching...
No Matches
InterleavedReassemblyStreams.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/dcsctp/AnyForwardTsnChunk.h"
7#include "mc/external/dcsctp/ReassemblyStreams.h"
8#include "mc/external/dcsctp/UnwrappedSequenceNumber.h"
9#include "mc/external/webrtc/StrongAlias.h"
10
11// auto generated forward declare list
12// clang-format off
13namespace dcsctp { class DcSctpMessage; }
14namespace dcsctp { class FSNTag; }
15namespace dcsctp { class HandoverReadinessStatus; }
16namespace dcsctp { class MIDTag; }
17namespace dcsctp { class StreamIDTag; }
18namespace dcsctp { class TSNTag; }
19namespace dcsctp { struct Data; }
20namespace dcsctp { struct DcSctpSocketHandoverState; }
21// clang-format on
22
23namespace dcsctp {
24
25class InterleavedReassemblyStreams : public ::dcsctp::ReassemblyStreams {
26public:
27 // InterleavedReassemblyStreams inner types declare
28 // clang-format off
29 struct FullStreamId;
30 class Stream;
31 // clang-format on
32
33 // InterleavedReassemblyStreams inner types define
34 struct FullStreamId {
35 public:
36 // member variables
37 // NOLINTBEGIN
40 // NOLINTEND
41
42 public:
43 // prevent constructor by default
44 FullStreamId& operator=(FullStreamId const&);
45 FullStreamId(FullStreamId const&);
46 FullStreamId();
47 };
48
49 class Stream {
50 public:
51 // member variables
52 // NOLINTBEGIN
58 // NOLINTEND
59
60 public:
61 // prevent constructor by default
62 Stream& operator=(Stream const&);
63 Stream(Stream const&);
64 Stream();
65
66 public:
67 // member functions
68 // NOLINTBEGIN
69 MCNAPI int
71
72 MCNAPI uint64 AssembleMessage(
73 ::std::map<
75 ::std::pair<
77 ::dcsctp::Data>> const& tsn_chunks
78 );
79
80 MCNAPI Stream(
84 );
85
86 MCNAPI uint64
88
89 MCNAPI uint64 TryToAssembleMessages();
90 // NOLINTEND
91
92 public:
93 // constructor thunks
94 // NOLINTBEGIN
95 MCNAPI void* $ctor(
99 );
100 // NOLINTEND
101 };
102
103public:
104 // member variables
105 // NOLINTBEGIN
109 // NOLINTEND
110
111public:
112 // prevent constructor by default
113 InterleavedReassemblyStreams& operator=(InterleavedReassemblyStreams const&);
114 InterleavedReassemblyStreams(InterleavedReassemblyStreams const&);
115 InterleavedReassemblyStreams();
116
117public:
118 // virtual functions
119 // NOLINTBEGIN
120 virtual int
122 ::dcsctp::Data data) /*override*/;
123
124 virtual uint64 HandleForwardTsn(
127 ) /*override*/;
128
129 virtual void
130 ResetStreams(::rtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> const> stream_ids) /*override*/;
131
132 virtual ::dcsctp::HandoverReadinessStatus GetHandoverReadiness() const /*override*/;
133
134 virtual void AddHandoverState(::dcsctp::DcSctpSocketHandoverState& state) /*override*/;
135
136 virtual void RestoreFromState(::dcsctp::DcSctpSocketHandoverState const& state) /*override*/;
137
138 virtual ~InterleavedReassemblyStreams() /*override*/ = default;
139 // NOLINTEND
140
141public:
142 // member functions
143 // NOLINTBEGIN
144 MCNAPI ::dcsctp::InterleavedReassemblyStreams::Stream&
145 GetOrCreateStream(::dcsctp::InterleavedReassemblyStreams::FullStreamId const& stream_id);
146
147 MCNAPI InterleavedReassemblyStreams(
148 ::std::string_view log_prefix,
149 ::std::function<void(
150 ::rtc::ArrayView<::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>> const>,
151 ::dcsctp::DcSctpMessage
152 )> on_assembled_message
153 );
154 // NOLINTEND
155
156public:
157 // constructor thunks
158 // NOLINTBEGIN
159 MCNAPI void* $ctor(
160 ::std::string_view log_prefix,
161 ::std::function<void(
162 ::rtc::ArrayView<::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>> const>,
163 ::dcsctp::DcSctpMessage
164 )> on_assembled_message
165 );
166 // NOLINTEND
167
168public:
169 // virtual function thunks
170 // NOLINTBEGIN
171 MCNAPI int
172 $Add(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>> tsn, ::dcsctp::Data data);
173
174 MCNAPI uint64 $HandleForwardTsn(
175 ::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>> new_cumulative_ack_tsn,
176 ::rtc::ArrayView<::dcsctp::AnyForwardTsnChunk::SkippedStream const> skipped_streams
177 );
178
179 MCNAPI void $ResetStreams(::rtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> const> stream_ids);
180
182
183 MCNAPI void $AddHandoverState(::dcsctp::DcSctpSocketHandoverState& state);
184
185 MCNAPI void $RestoreFromState(::dcsctp::DcSctpSocketHandoverState const& state);
186
187
188 // NOLINTEND
189
190public:
191 // vftables
192 // NOLINTBEGIN
193 MCNAPI static void** $vftable();
194 // NOLINTEND
195};
196
197} // namespace dcsctp
Definition AnyForwardTsnChunk.h:16
Definition DcSctpMessage.h:16
Definition FSNTag.h:7
Definition HandoverReadinessStatus.h:15
Definition InterleavedReassemblyStreams.h:49
MCAPI uint64 TryToAssembleMessage(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::MIDTag, uint > > mid)
MCAPI int Add(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > tsn, ::dcsctp::Data data)
MCAPI Stream(::dcsctp::InterleavedReassemblyStreams::FullStreamId stream_id, ::dcsctp::InterleavedReassemblyStreams *parent, ::webrtc::StrongAlias<::dcsctp::MIDTag, uint > next_mid)
MCAPI void * $ctor(::dcsctp::InterleavedReassemblyStreams::FullStreamId stream_id, ::dcsctp::InterleavedReassemblyStreams *parent, ::webrtc::StrongAlias<::dcsctp::MIDTag, uint > next_mid)
MCAPI uint64 AssembleMessage(::std::map< ::webrtc::StrongAlias<::dcsctp::FSNTag, uint >, ::std::pair< ::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > >, ::dcsctp::Data > > const &tsn_chunks)
Definition InterleavedReassemblyStreams.h:25
MCAPI uint64 $HandleForwardTsn(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > new_cumulative_ack_tsn, ::rtc::ArrayView<::dcsctp::AnyForwardTsnChunk::SkippedStream const > skipped_streams)
MCAPI int $Add(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > tsn, ::dcsctp::Data data)
MCAPI void $RestoreFromState(::dcsctp::DcSctpSocketHandoverState const &state)
MCAPI::dcsctp::InterleavedReassemblyStreams::Stream & GetOrCreateStream(::dcsctp::InterleavedReassemblyStreams::FullStreamId const &stream_id)
static MCAPI void ** $vftable()
MCAPI void * $ctor(::std::string_view log_prefix, ::std::function< void(::rtc::ArrayView<::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > const >, ::dcsctp::DcSctpMessage)> on_assembled_message)
MCAPI void $ResetStreams(::rtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > const > stream_ids)
MCAPI void $AddHandoverState(::dcsctp::DcSctpSocketHandoverState &state)
MCAPI::dcsctp::HandoverReadinessStatus $GetHandoverReadiness() const
Definition MIDTag.h:7
Definition ReassemblyStreams.h:22
Definition StreamIDTag.h:7
Definition TSNTag.h:7
Definition UnwrappedSequenceNumber.h:8
Definition _HeaderOutputPredefine.h:310
Definition StrongAlias.h:8
STL namespace.
Definition Data.h:22
Definition DcSctpSocketHandoverState.h:7
Definition InterleavedReassemblyStreams.h:34
Definition Alias.h:14