#include "third_party/blink/renderer/modules/peerconnection/rtc_sctp_transport.h"
#include <limits>
#include <memory>
#include "base/task/single_thread_task_runner.h"
#include "third_party/blink/public/web/web_local_frame.h"
#include "third_party/blink/renderer/core/dom/events/event.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/typed_arrays/dom_array_buffer.h"
#include "third_party/blink/renderer/modules/peerconnection/adapters/sctp_transport_proxy.h"
#include "third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.h"
#include "third_party/blink/renderer/modules/peerconnection/rtc_dtls_transport.h"
#include "third_party/blink/renderer/modules/peerconnection/rtc_error_util.h"
#include "third_party/blink/renderer/platform/scheduler/public/thread.h"
#include "third_party/webrtc/api/peer_connection_interface.h"
#include "third_party/webrtc/api/sctp_transport_interface.h"
namespace blink {
namespace {
String TransportStateToString(webrtc::SctpTransportState state) { … }
std::unique_ptr<SctpTransportProxy> CreateProxy(
ExecutionContext* context,
webrtc::SctpTransportInterface* native_transport,
SctpTransportProxy::Delegate* delegate,
scoped_refptr<base::SingleThreadTaskRunner> main_thread,
scoped_refptr<base::SingleThreadTaskRunner> worker_thread) { … }
}
RTCSctpTransport::RTCSctpTransport(
ExecutionContext* context,
rtc::scoped_refptr<webrtc::SctpTransportInterface> native_transport)
: … { … }
RTCSctpTransport::RTCSctpTransport(
ExecutionContext* context,
rtc::scoped_refptr<webrtc::SctpTransportInterface> native_transport,
scoped_refptr<base::SingleThreadTaskRunner> main_thread,
scoped_refptr<base::SingleThreadTaskRunner> worker_thread)
: … { … }
RTCSctpTransport::~RTCSctpTransport() { … }
String RTCSctpTransport::state() const { … }
double RTCSctpTransport::maxMessageSize() const { … }
std::optional<int16_t> RTCSctpTransport::maxChannels() const { … }
RTCDtlsTransport* RTCSctpTransport::transport() const { … }
rtc::scoped_refptr<webrtc::SctpTransportInterface>
RTCSctpTransport::native_transport() { … }
void RTCSctpTransport::ChangeState(webrtc::SctpTransportInformation info) { … }
void RTCSctpTransport::SetTransport(RTCDtlsTransport* transport) { … }
void RTCSctpTransport::OnStartCompleted(webrtc::SctpTransportInformation info) { … }
void RTCSctpTransport::OnStateChange(webrtc::SctpTransportInformation info) { … }
void RTCSctpTransport::Close() { … }
const AtomicString& RTCSctpTransport::InterfaceName() const { … }
ExecutionContext* RTCSctpTransport::GetExecutionContext() const { … }
void RTCSctpTransport::Trace(Visitor* visitor) const { … }
}