// Copyright 2011 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef THIRD_PARTY_BLINK_RENDERER_PLATFORM_P2P_IPC_SOCKET_FACTORY_H_ #define THIRD_PARTY_BLINK_RENDERER_PLATFORM_P2P_IPC_SOCKET_FACTORY_H_ #include <stdint.h> #include "base/unguessable_token.h" #include "net/traffic_annotation/network_traffic_annotation.h" #include "third_party/blink/renderer/platform/heap/cross_thread_persistent.h" #include "third_party/blink/renderer/platform/platform_export.h" #include "third_party/blink/renderer/platform/wtf/functional.h" #include "third_party/webrtc/api/packet_socket_factory.h" namespace blink { class P2PSocketDispatcher; // IpcPacketSocketFactory implements rtc::PacketSocketFactory // interface for libjingle using IPC-based P2P sockets. The class must // be created and used on a thread that is a libjingle thread (implements // rtc::Thread) and also has associated base::MessageLoop. Each // socket created by the factory must be used on the thread it was // created on. // The class needs to be destroyed on the libjingle network thread. class IpcPacketSocketFactory : public rtc::PacketSocketFactory { … }; } // namespace blink #endif // THIRD_PARTY_BLINK_RENDERER_PLATFORM_P2P_IPC_SOCKET_FACTORY_H_