LeviLamina
Loading...
Searching...
No Matches
DcSctpSocketInterface.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/external/dcsctp/ResetStreamsStatus.h"
7#include "mc/external/dcsctp/SctpImplementation.h"
8#include "mc/external/dcsctp/SendStatus.h"
9#include "mc/external/dcsctp/SocketState.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 HandoverReadinessStatus; }
16namespace dcsctp { class StreamIDTag; }
17namespace dcsctp { class StreamPriorityTag; }
18namespace dcsctp { class TimeoutTag; }
19namespace dcsctp { struct DcSctpOptions; }
20namespace dcsctp { struct DcSctpSocketHandoverState; }
21namespace dcsctp { struct Metrics; }
22namespace dcsctp { struct SendOptions; }
23// clang-format on
24
25namespace dcsctp {
26
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 virtual ~DcSctpSocketInterface() = default;
32
33 virtual void ReceivePacket(::rtc::ArrayView<uchar const> data) = 0;
34
35 virtual void HandleTimeout(::webrtc::StrongAlias<::dcsctp::TimeoutTag, uint64> timeout_id) = 0;
36
37 virtual void Connect() = 0;
38
39 virtual void RestoreFromState(::dcsctp::DcSctpSocketHandoverState const& state) = 0;
40
41 virtual void Shutdown() = 0;
42
43 virtual void Close() = 0;
44
45 virtual ::dcsctp::SocketState state() const = 0;
46
47 virtual ::dcsctp::DcSctpOptions const& options() const = 0;
48
49 virtual void SetMaxMessageSize(uint64 max_message_size) = 0;
50
51 virtual void SetStreamPriority(
54 ) = 0;
55
56 virtual ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort>
57 GetStreamPriority(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) const = 0;
58
59 virtual ::dcsctp::SendStatus Send(::dcsctp::DcSctpMessage message, ::dcsctp::SendOptions const& send_options) = 0;
60
61 virtual ::std::vector<::dcsctp::SendStatus>
62 SendMany(::rtc::ArrayView<::dcsctp::DcSctpMessage> messages, ::dcsctp::SendOptions const& send_options) = 0;
63
64 virtual ::dcsctp::ResetStreamsStatus
65 ResetStreams(::rtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> const> outgoing_streams) = 0;
66
67 virtual uint64 buffered_amount(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) const = 0;
68
69 virtual uint64
70 buffered_amount_low_threshold(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id) const = 0;
71
72 virtual void
73 SetBufferedAmountLowThreshold(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort> stream_id, uint64 bytes) = 0;
74
75 virtual ::std::optional<::dcsctp::Metrics> GetMetrics() const = 0;
76
77 virtual ::dcsctp::HandoverReadinessStatus GetHandoverReadiness() const = 0;
78
79 virtual ::std::optional<::dcsctp::DcSctpSocketHandoverState> GetHandoverStateAndClose() = 0;
80
81 virtual ::dcsctp::SctpImplementation peer_implementation() const;
82 // NOLINTEND
83
84public:
85 // virtual function thunks
86 // NOLINTBEGIN
87
88 // NOLINTEND
89};
90
91} // namespace dcsctp
Definition DcSctpMessage.h:16
Definition DcSctpSocketInterface.h:27
Definition HandoverReadinessStatus.h:15
Definition StreamIDTag.h:7
Definition StreamPriorityTag.h:7
Definition TimeoutTag.h:7
Definition _HeaderOutputPredefine.h:310
Definition StrongAlias.h:8
Definition DcSctpOptions.h:7
Definition DcSctpSocketHandoverState.h:7
Definition Metrics.h:7
Definition SendOptions.h:7