#include "third_party/blink/renderer/modules/peerconnection/rtc_dtls_transport.h"
#include <memory>
#include "base/task/single_thread_task_runner.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/web/web_local_frame.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/dom/events/event.h"
#include "third_party/blink/renderer/core/frame/deprecation/deprecation.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/dtls_transport_proxy.h"
#include "third_party/blink/renderer/modules/peerconnection/peer_connection_dependency_factory.h"
#include "third_party/blink/renderer/modules/peerconnection/rtc_error_util.h"
#include "third_party/blink/renderer/modules/peerconnection/rtc_ice_transport.h"
#include "third_party/blink/renderer/platform/scheduler/public/thread.h"
#include "third_party/boringssl/src/include/openssl/ssl.h"
#include "third_party/webrtc/api/dtls_transport_interface.h"
#include "third_party/webrtc/api/peer_connection_interface.h"
namespace blink {
namespace {
String TransportStateToString(webrtc::DtlsTransportState state) { … }
std::unique_ptr<DtlsTransportProxy> CreateProxy(
ExecutionContext* context,
webrtc::DtlsTransportInterface* native_transport,
DtlsTransportProxy::Delegate* delegate) { … }
}
RTCDtlsTransport::RTCDtlsTransport(
ExecutionContext* context,
rtc::scoped_refptr<webrtc::DtlsTransportInterface> native_transport,
RTCIceTransport* ice_transport)
: … { … }
RTCDtlsTransport::~RTCDtlsTransport() { … }
String RTCDtlsTransport::state() const { … }
const HeapVector<Member<DOMArrayBuffer>>&
RTCDtlsTransport::getRemoteCertificates() const { … }
RTCIceTransport* RTCDtlsTransport::iceTransport() const { … }
webrtc::DtlsTransportInterface* RTCDtlsTransport::native_transport() { … }
void RTCDtlsTransport::ChangeState(webrtc::DtlsTransportInformation info) { … }
void RTCDtlsTransport::Close() { … }
void RTCDtlsTransport::OnStartCompleted(webrtc::DtlsTransportInformation info) { … }
void RTCDtlsTransport::OnStateChange(webrtc::DtlsTransportInformation info) { … }
const AtomicString& RTCDtlsTransport::InterfaceName() const { … }
ExecutionContext* RTCDtlsTransport::GetExecutionContext() const { … }
void RTCDtlsTransport::Trace(Visitor* visitor) const { … }
}