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/ArrayView.h"
10#include "mc/external/webrtc/StrongAlias.h"
11
12// auto generated forward declare list
13// clang-format off
14namespace dcsctp { class DcSctpMessage; }
15namespace dcsctp { class FSNTag; }
16namespace dcsctp { class HandoverReadinessStatus; }
17namespace dcsctp { class MIDTag; }
18namespace dcsctp { class StreamIDTag; }
19namespace dcsctp { class TSNTag; }
20namespace dcsctp { struct Data; }
21namespace dcsctp { struct DcSctpSocketHandoverState; }
22// clang-format on
23
24namespace dcsctp {
25
26class InterleavedReassemblyStreams : public ::dcsctp::ReassemblyStreams {
27public:
28 // InterleavedReassemblyStreams inner types declare
29 // clang-format off
30 struct FullStreamId;
31 class Stream;
32 // clang-format on
33
34 // InterleavedReassemblyStreams inner types define
35 struct FullStreamId {
36 public:
37 // member variables
38 // NOLINTBEGIN
41 // NOLINTEND
42
43 public:
44 // prevent constructor by default
45 FullStreamId& operator=(FullStreamId const&);
46 FullStreamId(FullStreamId const&);
47 FullStreamId();
48 };
49
50 class Stream {
51 public:
52 // member variables
53 // NOLINTBEGIN
59 // NOLINTEND
60
61 public:
62 // prevent constructor by default
63 Stream& operator=(Stream const&);
64 Stream(Stream const&);
65 Stream();
66
67 public:
68 // member functions
69 // NOLINTBEGIN
70 MCNAPI int
72
73 MCNAPI uint64 AssembleMessage(
74 ::std::map<
76 ::std::pair<
78 ::dcsctp::Data>>& tsn_chunks
79 );
80
81 MCNAPI uint64 AssembleMessage(
84 );
85
86 MCNAPI Stream(
90 );
91
92 MCNAPI uint64
94
95 MCNAPI uint64 TryToAssembleMessages();
96 // NOLINTEND
97
98 public:
99 // constructor thunks
100 // NOLINTBEGIN
101 MCNAPI void* $ctor(
105 );
106 // NOLINTEND
107 };
108
109public:
110 // member variables
111 // NOLINTBEGIN
115 // NOLINTEND
116
117public:
118 // prevent constructor by default
119 InterleavedReassemblyStreams& operator=(InterleavedReassemblyStreams const&);
120 InterleavedReassemblyStreams(InterleavedReassemblyStreams const&);
121 InterleavedReassemblyStreams();
122
123public:
124 // virtual functions
125 // NOLINTBEGIN
126 virtual int
128 ::dcsctp::Data data) /*override*/;
129
130 virtual uint64 HandleForwardTsn(
133 ) /*override*/;
134
135 virtual void ResetStreams(
137 ) /*override*/;
138
139 virtual ::dcsctp::HandoverReadinessStatus GetHandoverReadiness() const /*override*/;
140
141 virtual void AddHandoverState(::dcsctp::DcSctpSocketHandoverState& state) /*override*/;
142
143 virtual void RestoreFromState(::dcsctp::DcSctpSocketHandoverState const& state) /*override*/;
144
145 virtual ~InterleavedReassemblyStreams() /*override*/ = default;
146 // NOLINTEND
147
148public:
149 // member functions
150 // NOLINTBEGIN
151 MCNAPI ::dcsctp::InterleavedReassemblyStreams::Stream&
152 GetOrCreateStream(::dcsctp::InterleavedReassemblyStreams::FullStreamId const& stream_id);
153
154 MCNAPI InterleavedReassemblyStreams(
155 ::std::string_view log_prefix,
156 ::std::function<void(
157 ::webrtc::ArrayView<::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>> const>,
158 ::dcsctp::DcSctpMessage
159 )> on_assembled_message
160 );
161 // NOLINTEND
162
163public:
164 // constructor thunks
165 // NOLINTBEGIN
166 MCNAPI void* $ctor(
167 ::std::string_view log_prefix,
168 ::std::function<void(
169 ::webrtc::ArrayView<::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>> const>,
170 ::dcsctp::DcSctpMessage
171 )> on_assembled_message
172 );
173 // NOLINTEND
174
175public:
176 // virtual function thunks
177 // NOLINTBEGIN
178 MCNAPI int
179 $Add(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>> tsn, ::dcsctp::Data data);
180
181 MCNAPI uint64 $HandleForwardTsn(
182 ::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint>>,
183 ::webrtc::ArrayView<::dcsctp::AnyForwardTsnChunk::SkippedStream const> skipped_streams
184 );
185
186 MCNAPI void
187 $ResetStreams(::webrtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> const> stream_ids);
188
190
191 MCNAPI void $AddHandoverState(::dcsctp::DcSctpSocketHandoverState& state);
192
193 MCNAPI void $RestoreFromState(::dcsctp::DcSctpSocketHandoverState const& state);
194
195
196 // NOLINTEND
197
198public:
199 // vftables
200 // NOLINTBEGIN
201 MCNAPI static void** $vftable();
202 // NOLINTEND
203};
204
205} // namespace dcsctp
Definition AnyForwardTsnChunk.h:16
Definition DcSctpMessage.h:7
Definition FSNTag.h:7
Definition HandoverReadinessStatus.h:15
Definition InterleavedReassemblyStreams.h:50
MCAPI uint64 TryToAssembleMessage(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::MIDTag, uint > > mid)
MCAPI uint64 AssembleMessage(::std::map< ::webrtc::StrongAlias<::dcsctp::FSNTag, uint >, ::std::pair< ::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > >, ::dcsctp::Data > > &tsn_chunks)
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 uint64 AssembleMessage(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > tsn, ::dcsctp::Data data)
MCAPI void * $ctor(::dcsctp::InterleavedReassemblyStreams::FullStreamId stream_id, ::dcsctp::InterleavedReassemblyStreams *parent, ::webrtc::StrongAlias<::dcsctp::MIDTag, uint > next_mid)
Definition InterleavedReassemblyStreams.h:26
MCAPI int $Add(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > tsn, ::dcsctp::Data data)
MCAPI void * $ctor(::std::string_view log_prefix, ::std::function< void(::webrtc::ArrayView<::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > > const >, ::dcsctp::DcSctpMessage)> on_assembled_message)
MCAPI uint64 $HandleForwardTsn(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::TSNTag, uint > >, ::webrtc::ArrayView<::dcsctp::AnyForwardTsnChunk::SkippedStream const > skipped_streams)
MCAPI void $RestoreFromState(::dcsctp::DcSctpSocketHandoverState const &state)
MCAPI::dcsctp::InterleavedReassemblyStreams::Stream & GetOrCreateStream(::dcsctp::InterleavedReassemblyStreams::FullStreamId const &stream_id)
static MCAPI void ** $vftable()
MCAPI void $ResetStreams(::webrtc::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:23
Definition StreamIDTag.h:7
Definition TSNTag.h:7
Definition UnwrappedSequenceNumber.h:8
Definition ArrayView.h:8
Definition StrongAlias.h:8
STL namespace.
Definition Data.h:22
Definition DcSctpSocketHandoverState.h:7
Definition InterleavedReassemblyStreams.h:35
Definition Alias.h:14