3 * Copyright 2015 gRPC authors.
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
19 #ifndef GRPC_TEST_CORE_UTIL_TEST_TCP_SERVER_H
20 #define GRPC_TEST_CORE_UTIL_TEST_TCP_SERVER_H
22 #include <grpc/support/sync.h>
23 #include "src/core/lib/iomgr/tcp_server.h"
25 typedef struct test_tcp_server {
26 grpc_tcp_server* tcp_server;
27 grpc_closure shutdown_complete;
30 grpc_pollset* pollset;
31 grpc_tcp_server_cb on_connect;
35 void test_tcp_server_init(test_tcp_server* server,
36 grpc_tcp_server_cb on_connect, void* user_data);
37 void test_tcp_server_start(test_tcp_server* server, int port);
38 void test_tcp_server_poll(test_tcp_server* server, int seconds);
39 void test_tcp_server_destroy(test_tcp_server* server);
41 #endif /* GRPC_TEST_CORE_UTIL_TEST_TCP_SERVER_H */