LeviLamina
Loading...
Searching...
No Matches
StreamScheduler.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/dcsctp/SendQueue.h"
7#include "mc/external/webrtc/StrongAlias.h"
8
9// auto generated forward declare list
10// clang-format off
11namespace dcsctp { class InverseWeightTag; }
12namespace dcsctp { class StreamPriorityTag; }
13namespace dcsctp { class VirtualTimeTag; }
14namespace webrtc { class Timestamp; }
15// clang-format on
16
17namespace dcsctp {
18
20public:
21 // StreamScheduler inner types declare
22 // clang-format off
24 class InverseWeight;
25 class Stream;
26 class StreamProducer;
27 class VirtualTime;
28 // clang-format on
29
30 // StreamScheduler inner types define
31 class VirtualTime : public ::webrtc::StrongAlias<::dcsctp::VirtualTimeTag, double> {};
32
33 class InverseWeight : public ::webrtc::StrongAlias<::dcsctp::InverseWeightTag, double> {};
34
36 public:
37 // virtual functions
38 // NOLINTBEGIN
39 // vIndex: 0
40 virtual ~StreamProducer() = default;
41
42 // vIndex: 1
43 virtual ::std::optional<::dcsctp::SendQueue::DataToSend> Produce(::webrtc::Timestamp, uint64) = 0;
44
45 // vIndex: 2
46 virtual uint64 bytes_to_send_in_next_message() const = 0;
47 // NOLINTEND
48
49 public:
50 // virtual function thunks
51 // NOLINTBEGIN
52
53 // NOLINTEND
54 };
55
56 class Stream {
57 public:
58 // member variables
59 // NOLINTBEGIN
67 // NOLINTEND
68
69 public:
70 // prevent constructor by default
71 Stream& operator=(Stream const&);
72 Stream(Stream const&);
73 Stream();
74
75 public:
76 // member functions
77 // NOLINTBEGIN
78 MCNAPI ::dcsctp::StreamScheduler::VirtualTime CalculateFinishTime(uint64 bytes_to_send_next) const;
79
80 MCNAPI void ForceMarkInactive();
81
82 MCNAPI void MakeActive(uint64 bytes_to_send_next);
83
84 MCNAPI void MakeInactive();
85
86 MCNAPI void MaybeMakeActive();
87
88 MCNAPI ::std::optional<::dcsctp::SendQueue::DataToSend> Produce(::webrtc::Timestamp now, uint64 max_size);
89
91 // NOLINTEND
92 };
93
95
96public:
97 // member variables
98 // NOLINTBEGIN
106 // NOLINTEND
107
108public:
109 // prevent constructor by default
110 StreamScheduler& operator=(StreamScheduler const&);
113
114public:
115 // member functions
116 // NOLINTBEGIN
117 MCNAPI ::std::optional<::dcsctp::SendQueue::DataToSend> Produce(::webrtc::Timestamp now, uint64 max_size);
118
120 // NOLINTEND
121
122public:
123 // destructor thunk
124 // NOLINTBEGIN
125 MCNAPI void $dtor();
126 // NOLINTEND
127};
128
129} // namespace dcsctp
Definition StreamScheduler.h:33
Definition StreamScheduler.h:35
Definition StreamScheduler.h:56
MCAPI ::std::optional<::dcsctp::SendQueue::DataToSend > Produce(::webrtc::Timestamp now, uint64 max_size)
MCAPI void MakeActive(uint64 bytes_to_send_next)
MCAPI void SetPriority(::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort > priority)
MCAPI::dcsctp::StreamScheduler::VirtualTime CalculateFinishTime(uint64 bytes_to_send_next) const
Definition StreamScheduler.h:31
Definition StreamScheduler.h:19
MCAPI ::std::optional<::dcsctp::SendQueue::DataToSend > Produce(::webrtc::Timestamp now, uint64 max_size)
Definition StrongAlias.h:8
Definition Timestamp.h:10
Definition Alias.h:14