3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/external/dcsctp/DcSctpSocketInterface.h"
7#include "mc/external/dcsctp/ErrorKind.h"
8#include "mc/external/dcsctp/ResetStreamsStatus.h"
9#include "mc/external/dcsctp/SctpImplementation.h"
10#include "mc/external/dcsctp/SctpPacket.h"
11#include "mc/external/dcsctp/SendPacketStatus.h"
12#include "mc/external/dcsctp/SendStatus.h"
13#include "mc/external/dcsctp/SocketState.h"
14#include "mc/external/webrtc/StrongAlias.h"
18namespace dcsctp {
class AnyDataChunk; }
19namespace dcsctp {
class AnyForwardTsnChunk; }
20namespace dcsctp {
class DcSctpMessage; }
21namespace dcsctp {
class DcSctpSocketCallbacks; }
22namespace dcsctp {
class HandoverReadinessStatus; }
24namespace dcsctp {
class SctpPacket; }
25namespace dcsctp {
class StateCookie; }
26namespace dcsctp {
class StreamIDTag; }
27namespace dcsctp {
class StreamPriorityTag; }
28namespace dcsctp {
class TSNTag; }
29namespace dcsctp {
class TieTagTag; }
30namespace dcsctp {
class TimeoutTag; }
31namespace dcsctp {
class VerificationTagTag; }
32namespace dcsctp {
struct Capabilities; }
33namespace dcsctp {
struct CommonHeader; }
34namespace dcsctp {
struct DcSctpOptions; }
35namespace dcsctp {
struct DcSctpSocketHandoverState; }
36namespace dcsctp {
struct Metrics; }
37namespace dcsctp {
struct SendOptions; }
38namespace webrtc {
class TimeDelta; }
66 enum class State :
int {
73 KShutdownReceived = 6,
112 virtual void Connect() ;
118 virtual void Shutdown() ;
121 virtual void Close() ;
124 virtual ::dcsctp::SendStatus
128 virtual ::std::vector<::dcsctp::SendStatus> SendMany(
134 virtual ::dcsctp::ResetStreamsStatus ResetStreams(
139 virtual ::dcsctp::SocketState state() const ;
145 virtual
void SetMaxMessageSize(uint64 max_message_size) ;
148 virtual
void SetStreamPriority(
149 ::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id,
155 GetStreamPriority(::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id) const ;
158 virtual uint64 buffered_amount(::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id) const ;
161 virtual uint64 buffered_amount_low_threshold(::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id) const
165 virtual
void SetBufferedAmountLowThreshold(
166 ::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id,
171 virtual ::
std::optional<::dcsctp::
Metrics> GetMetrics() const ;
180 virtual ::dcsctp::SctpImplementation peer_implementation() const ;
194 ::webrtc::StrongAlias<::dcsctp::
TSNTag, uint> my_initial_tsn,
196 ::webrtc::StrongAlias<::dcsctp::
TSNTag, uint> peer_initial_tsn,
198 ::webrtc::StrongAlias<::dcsctp::
TieTagTag, uint64> tie_tag
202 ::
std::string_view log_prefix,
239 ::dcsctp::
SctpPacket::ChunkDescriptor const& descriptor
268 ::dcsctp::
SctpPacket::ChunkDescriptor const& descriptor
275 MCNAPI ::dcsctp::SendStatus
290 MCNAPI
void OnSentPacket(::rtc::ArrayView<uchar const> packet, ::dcsctp::SendPacketStatus status);
313 ::
std::string_view log_prefix,
337 MCNAPI ::
std::vector<::dcsctp::SendStatus>
340 MCNAPI ::dcsctp::ResetStreamsStatus
343 MCNAPI ::dcsctp::SocketState
$state() const;
350 ::webrtc::StrongAlias<::dcsctp::
StreamIDTag, ushort> stream_id,
Definition PacketObserver.h:14
Definition AnyDataChunk.h:18
Definition AnyForwardTsnChunk.h:16
Definition DcSctpMessage.h:7
Definition DcSctpSocketCallbacks.h:23
Definition DcSctpSocketInterface.h:27
Definition DcSctpSocket.h:43
MCAPI void $SetBufferedAmountLowThreshold(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id, uint64 bytes)
MCAPI void HandleReconfig(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI bool Dispatch(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI::webrtc::TimeDelta OnShutdownTimerExpiry()
MCAPI void MaybeSendShutdownOnPacketReceived(::dcsctp::SctpPacket const &packet)
MCAPI void HandleInit(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI void MaybeDeliverMessages()
MCAPI void HandleShutdownComplete(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI void HandleForwardTsnCommon(::dcsctp::AnyForwardTsnChunk const &chunk)
MCAPI void OnSentPacket(::rtc::ArrayView< uchar const > packet, ::dcsctp::SendPacketStatus status)
MCAPI void HandleCookieAck(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
static MCAPI void ** $vftable()
MCAPI void HandleSack(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI void HandleError(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI::dcsctp::ResetStreamsStatus $ResetStreams(::rtc::ArrayView<::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > const > outgoing_streams)
MCAPI void HandleCookieEcho(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI void $SetStreamPriority(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id, ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort > priority)
MCAPI void $RestoreFromState(::dcsctp::DcSctpSocketHandoverState const &state)
MCAPI ::std::vector<::dcsctp::SendStatus > $SendMany(::rtc::ArrayView<::dcsctp::DcSctpMessage > messages, ::dcsctp::SendOptions const &send_options)
MCAPI ::std::optional<::dcsctp::DcSctpSocketHandoverState > $GetHandoverStateAndClose()
MCAPI::dcsctp::SctpImplementation $peer_implementation() const
MCAPI void HandleHeartbeatAck(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI void InternalClose(::dcsctp::ErrorKind error, ::std::string_view message)
MCAPI::webrtc::TimeDelta OnInitTimerExpiry()
MCAPI void HandleIData(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI void ReportFailedToParseChunk(int chunk_type)
MCAPI void CloseConnectionBecauseOfTooManyTransmissionErrors()
MCAPI void HandleAbort(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI::dcsctp::SocketState $state() const
MCAPI::dcsctp::DcSctpOptions const & $options() const
MCAPI ::webrtc::StrongAlias<::dcsctp::StreamPriorityTag, ushort > $GetStreamPriority(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id) const
MCAPI uint64 $buffered_amount_low_threshold(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id) const
MCAPI::dcsctp::SendStatus InternalSend(::dcsctp::DcSctpMessage const &message, ::dcsctp::SendOptions const &send_options)
MCAPI void HandleForwardTsn(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI uint64 $buffered_amount(::webrtc::StrongAlias<::dcsctp::StreamIDTag, ushort > stream_id) const
MCAPI bool ValidateHasTCB()
MCAPI void $HandleTimeout(::webrtc::StrongAlias<::dcsctp::TimeoutTag, uint64 > timeout_id)
MCAPI ::std::optional<::dcsctp::Metrics > $GetMetrics() const
MCAPI bool ValidatePacket(::dcsctp::SctpPacket const &packet)
MCAPI void $ReceivePacket(::rtc::ArrayView< uchar const > data)
MCAPI void SendShutdown()
MCAPI::webrtc::TimeDelta OnCookieTimerExpiry()
MCAPI void HandleDataCommon(::dcsctp::AnyDataChunk &chunk)
MCAPI bool HandleCookieEchoWithTCB(::dcsctp::CommonHeader const &header, ::dcsctp::StateCookie const &cookie)
MCAPI void SetState(::dcsctp::DcSctpSocket::State state, ::std::string_view reason)
MCAPI void CreateTransmissionControlBlock(::dcsctp::Capabilities const &capabilities, ::webrtc::StrongAlias<::dcsctp::VerificationTagTag, uint > my_verification_tag, ::webrtc::StrongAlias<::dcsctp::TSNTag, uint > my_initial_tsn, ::webrtc::StrongAlias<::dcsctp::VerificationTagTag, uint > peer_verification_tag, ::webrtc::StrongAlias<::dcsctp::TSNTag, uint > peer_initial_tsn, uint64 a_rwnd, ::webrtc::StrongAlias<::dcsctp::TieTagTag, uint64 > tie_tag)
MCAPI bool HandleUnrecognizedChunk(::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI void SendShutdownAck()
MCAPI::dcsctp::HandoverReadinessStatus $GetHandoverReadiness() const
MCAPI void HandleShutdown(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI void HandleInitAck(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI void HandleData(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI void MaybeSendResetStreamsRequest()
MCAPI void MaybeSendShutdownOrAck()
MCAPI void HandleShutdownAck(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI void HandleIForwardTsn(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI void $SetMaxMessageSize(uint64 max_message_size)
MCAPI void HandleHeartbeatRequest(::dcsctp::CommonHeader const &header, ::dcsctp::SctpPacket::ChunkDescriptor const &descriptor)
MCAPI::dcsctp::SendStatus $Send(::dcsctp::DcSctpMessage message, ::dcsctp::SendOptions const &send_options)
MCAPI void * $ctor(::std::string_view log_prefix, ::dcsctp::DcSctpSocketCallbacks &callbacks, ::std::unique_ptr<::dcsctp::PacketObserver > packet_observer, ::dcsctp::DcSctpOptions const &options)
Definition HandoverReadinessStatus.h:15
Definition PacketObserver.h:12
Definition SctpPacket.h:17
Definition StateCookie.h:7
Definition StreamIDTag.h:7
Definition StreamPriorityTag.h:7
Definition TimeoutTag.h:7
Definition VerificationTagTag.h:7
Definition _HeaderOutputPredefine.h:260
Definition StrongAlias.h:8
Definition Capabilities.h:7
Definition DcSctpOptions.h:7
Definition DcSctpSocketHandoverState.h:7
Definition DcSctpSocket.h:51
Definition SendOptions.h:7