xref: /aosp_15_r20/external/webrtc/rtc_base/test_echo_server.cc (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1*d9f75844SAndroid Build Coastguard Worker /*
2*d9f75844SAndroid Build Coastguard Worker  *  Copyright 2017 The WebRTC Project Authors. All rights reserved.
3*d9f75844SAndroid Build Coastguard Worker  *
4*d9f75844SAndroid Build Coastguard Worker  *  Use of this source code is governed by a BSD-style license
5*d9f75844SAndroid Build Coastguard Worker  *  that can be found in the LICENSE file in the root of the source
6*d9f75844SAndroid Build Coastguard Worker  *  tree. An additional intellectual property rights grant can be found
7*d9f75844SAndroid Build Coastguard Worker  *  in the file PATENTS.  All contributing project authors may
8*d9f75844SAndroid Build Coastguard Worker  *  be found in the AUTHORS file in the root of the source tree.
9*d9f75844SAndroid Build Coastguard Worker  */
10*d9f75844SAndroid Build Coastguard Worker 
11*d9f75844SAndroid Build Coastguard Worker #include "rtc_base/test_echo_server.h"
12*d9f75844SAndroid Build Coastguard Worker 
13*d9f75844SAndroid Build Coastguard Worker #include "rtc_base/socket_server.h"
14*d9f75844SAndroid Build Coastguard Worker 
15*d9f75844SAndroid Build Coastguard Worker namespace rtc {
16*d9f75844SAndroid Build Coastguard Worker 
TestEchoServer(Thread * thread,const SocketAddress & addr)17*d9f75844SAndroid Build Coastguard Worker TestEchoServer::TestEchoServer(Thread* thread, const SocketAddress& addr)
18*d9f75844SAndroid Build Coastguard Worker     : server_socket_(
19*d9f75844SAndroid Build Coastguard Worker           thread->socketserver()->CreateSocket(addr.family(), SOCK_STREAM)) {
20*d9f75844SAndroid Build Coastguard Worker   server_socket_->Bind(addr);
21*d9f75844SAndroid Build Coastguard Worker   server_socket_->Listen(5);
22*d9f75844SAndroid Build Coastguard Worker   server_socket_->SignalReadEvent.connect(this, &TestEchoServer::OnAccept);
23*d9f75844SAndroid Build Coastguard Worker }
24*d9f75844SAndroid Build Coastguard Worker 
~TestEchoServer()25*d9f75844SAndroid Build Coastguard Worker TestEchoServer::~TestEchoServer() {
26*d9f75844SAndroid Build Coastguard Worker   for (ClientList::iterator it = client_sockets_.begin();
27*d9f75844SAndroid Build Coastguard Worker        it != client_sockets_.end(); ++it) {
28*d9f75844SAndroid Build Coastguard Worker     delete *it;
29*d9f75844SAndroid Build Coastguard Worker   }
30*d9f75844SAndroid Build Coastguard Worker }
31*d9f75844SAndroid Build Coastguard Worker 
32*d9f75844SAndroid Build Coastguard Worker }  // namespace rtc
33