LeviLamina
Loading...
Searching...
No Matches
StreamResetHandler.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/ArrayView.h"
8#include "mc/external/webrtc/StrongAlias.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace dcsctp { class Context; }
13namespace dcsctp { class DataTracker; }
14namespace dcsctp { class HandoverReadinessStatus; }
15namespace dcsctp { class ReConfigChunk; }
16namespace dcsctp { class ReassemblyQueue; }
17namespace dcsctp { class ReconfigRequestSNTag; }
18namespace dcsctp { class ReconfigurationResponseParameter; }
19namespace dcsctp { class RetransmissionQueue; }
20namespace dcsctp { class StreamIDTag; }
21namespace dcsctp { class TimerManager; }
22namespace dcsctp { struct DcSctpSocketHandoverState; }
23namespace dcsctp { struct ParameterDescriptor; }
24namespace webrtc { class TimeDelta; }
25// clang-format on
26
27namespace dcsctp {
28
29class StreamResetHandler {
30public:
31 // StreamResetHandler inner types declare
32 // clang-format off
33 class CurrentRequest;
34 // clang-format on
35
36 // StreamResetHandler inner types define
37 class CurrentRequest {
38 public:
39 // member variables
40 // NOLINTBEGIN
44 // NOLINTEND
45
46 public:
47 // prevent constructor by default
48 CurrentRequest& operator=(CurrentRequest const&);
49 CurrentRequest(CurrentRequest const&);
50 CurrentRequest();
51 };
52
53public:
54 // member variables
55 // NOLINTBEGIN
67 // NOLINTEND
68
69public:
70 // prevent constructor by default
71 StreamResetHandler& operator=(StreamResetHandler const&);
72 StreamResetHandler(StreamResetHandler const&);
73 StreamResetHandler();
74
75public:
76 // member functions
77 // NOLINTBEGIN
79
80 MCNAPI ::dcsctp::HandoverReadinessStatus GetHandoverReadiness() const;
81
83
85 ::dcsctp::ParameterDescriptor const& descriptor,
86 ::std::vector<::dcsctp::ReconfigurationResponseParameter>& responses
87 );
88
89 MCNAPI void HandleResponse(::dcsctp::ParameterDescriptor const& descriptor);
90
91 MCNAPI ::dcsctp::ReConfigChunk MakeReconfigChunk();
92
93 MCNAPI ::std::optional<::dcsctp::ReConfigChunk> MakeStreamResetRequest();
94
95 MCNAPI ::webrtc::TimeDelta OnReconfigTimerExpiry();
96
97 MCNAPI ::std::optional<::std::vector<::dcsctp::ReconfigurationResponseParameter>>
99
100 MCNAPI void
102
104 ::std::string_view log_prefix,
106 ::dcsctp::TimerManager* timer_manager,
107 ::dcsctp::DataTracker* data_tracker,
108 ::dcsctp::ReassemblyQueue* reassembly_queue,
109 ::dcsctp::RetransmissionQueue* retransmission_queue,
110 ::dcsctp::DcSctpSocketHandoverState const* handover_state
111 );
112
113 MCNAPI bool Validate(::dcsctp::ReConfigChunk const& chunk);
114
115 MCNAPI bool ValidateReqSeqNbr(
117 ::std::vector<::dcsctp::ReconfigurationResponseParameter>& responses
118 );
119
121 // NOLINTEND
122
123public:
124 // constructor thunks
125 // NOLINTBEGIN
126 MCNAPI void* $ctor(
127 ::std::string_view log_prefix,
129 ::dcsctp::TimerManager* timer_manager,
130 ::dcsctp::DataTracker* data_tracker,
131 ::dcsctp::ReassemblyQueue* reassembly_queue,
132 ::dcsctp::RetransmissionQueue* retransmission_queue,
133 ::dcsctp::DcSctpSocketHandoverState const* handover_state
134 );
135 // NOLINTEND
136
137public:
138 // destructor thunk
139 // NOLINTBEGIN
140 MCNAPI void $dtor();
141 // NOLINTEND
142};
143
144} // namespace dcsctp
Definition Context.h:18
Definition DataTracker.h:21
Definition HandoverReadinessStatus.h:15
Definition ReConfigChunk.h:18
Definition ReassemblyQueue.h:22
Definition ReconfigRequestSNTag.h:7
Definition ReconfigurationResponseParameter.h:18
Definition RetransmissionQueue.h:27
Definition StreamIDTag.h:7
Definition StreamResetHandler.h:37
MCAPI void HandleReConfig(::dcsctp::ReConfigChunk chunk)
MCAPI ::std::optional<::std::vector<::dcsctp::ReconfigurationResponseParameter > > Process(::dcsctp::ReConfigChunk const &chunk)
MCAPI::webrtc::TimeDelta OnReconfigTimerExpiry()
MCAPI void HandleResponse(::dcsctp::ParameterDescriptor const &descriptor)
MCAPI::dcsctp::ReConfigChunk MakeReconfigChunk()
MCAPI bool Validate(::dcsctp::ReConfigChunk const &chunk)
MCAPI void ResetStreams(::webrtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > const > outgoing_streams)
MCAPI StreamResetHandler(::std::string_view log_prefix, ::dcsctp::Context *context, ::dcsctp::TimerManager *timer_manager, ::dcsctp::DataTracker *data_tracker, ::dcsctp::ReassemblyQueue *reassembly_queue, ::dcsctp::RetransmissionQueue *retransmission_queue, ::dcsctp::DcSctpSocketHandoverState const *handover_state)
MCAPI::dcsctp::HandoverReadinessStatus GetHandoverReadiness() const
MCAPI ::std::optional<::dcsctp::ReConfigChunk > MakeStreamResetRequest()
MCAPI bool ValidateReqSeqNbr(::dcsctp::UnwrappedSequenceNumber<::webrtc::StrongAlias<::dcsctp::ReconfigRequestSNTag, uint > > req_seq_nbr, ::std::vector<::dcsctp::ReconfigurationResponseParameter > &responses)
MCAPI void * $ctor(::std::string_view log_prefix, ::dcsctp::Context *context, ::dcsctp::TimerManager *timer_manager, ::dcsctp::DataTracker *data_tracker, ::dcsctp::ReassemblyQueue *reassembly_queue, ::dcsctp::RetransmissionQueue *retransmission_queue, ::dcsctp::DcSctpSocketHandoverState const *handover_state)
MCAPI void HandleResetOutgoing(::dcsctp::ParameterDescriptor const &descriptor, ::std::vector<::dcsctp::ReconfigurationResponseParameter > &responses)
MCAPI void AddHandoverState(::dcsctp::DcSctpSocketHandoverState &state)
Definition TimerManager.h:18
Definition UnwrappedSequenceNumber.h:8
Definition ArrayView.h:8
Definition StrongAlias.h:8
Definition TimeDelta.h:10
Definition context.h:5
Definition DcSctpSocketHandoverState.h:7
Definition ParameterDescriptor.h:7
Definition Alias.h:14