/* * Copyright 2004 The WebRTC Project Authors. All rights reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #ifndef P2P_BASE_TCP_PORT_H_ #define P2P_BASE_TCP_PORT_H_ #include <list> #include <memory> #include <string> #include "absl/memory/memory.h" #include "absl/strings/string_view.h" #include "api/task_queue/pending_task_safety_flag.h" #include "p2p/base/connection.h" #include "p2p/base/port.h" #include "rtc_base/async_packet_socket.h" #include "rtc_base/containers/flat_map.h" #include "rtc_base/network/received_packet.h" namespace cricket { class TCPConnection; // Communicates using a local TCP port. // // This class is designed to allow subclasses to take advantage of the // connection management provided by this class. A subclass should take of all // packet sending and preparation, but when a packet is received, it should // call this TCPPort::OnReadPacket (3 arg) to dispatch to a connection. class TCPPort : public Port { … }; class TCPConnection : public Connection, public sigslot::has_slots<> { … }; } // namespace cricket #endif // P2P_BASE_TCP_PORT_H_