MySQL 8.0.39
Source Code Documentation
netfwd.h
Go to the documentation of this file.
1/*
2 Copyright (c) 2020, 2024, Oracle and/or its affiliates.
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License, version 2.0,
6 as published by the Free Software Foundation.
7
8 This program is designed to work with certain software (including
9 but not limited to OpenSSL) that is licensed under separate terms,
10 as designated in a particular file or component or in included license
11 documentation. The authors of MySQL hereby grant you an additional
12 permission to link the program and your derivative works with the
13 separately licensed software that they have either included with
14 the program or referenced in the documentation.
15
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License for more details.
20
21 You should have received a copy of the GNU General Public License
22 along with this program; if not, write to the Free Software
23 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24*/
25
26#ifndef MYSQL_HARNESS_NET_TS_NETFWD_H_
27#define MYSQL_HARNESS_NET_TS_NETFWD_H_
28
29namespace net {
30class execution_context;
31
32template <class T, class Executor>
34
35template <class Executor>
37
38class system_executor;
39
40class executor;
41
42template <class Executor>
43class strand;
44
45class io_context;
46
47template <class Clock>
48struct wait_traits;
49
50template <class Clock, class WaitTraits = wait_traits<Clock>>
52
53template <class Protocol>
54class basic_socket;
55
56template <class Protocol>
58
59template <class Protocol>
61
62template <class Protocol>
64
65#if 0
66// not implemented yet
67template <class Protocol, class Clock = std::chrono::steady_clock,
68 class WaitTraits = wait_traits<Clock>>
69class basic_socket_streambuf;
70
71template <class Protocol, class Clock = std::chrono::steady_clock,
72 class WaitTraits = wait_traits<Clock>>
73class basic_socket_iostream;
74#endif
75
76namespace ip {
77class address;
78class address_v4;
79class address_v6;
80
81template <class Address>
82class basic_address_iterator;
83
84using address_v4_iterator = basic_address_iterator<address_v4>;
85using address_v6_iterator = basic_address_iterator<address_v6>;
86
87template <class Address>
88class basic_address_range;
89using address_v4_range = basic_address_range<address_v4>;
90using address_v6_range = basic_address_range<address_v6>;
91
92class network_v4;
93class network_v6;
94
95template <class InternetProtocol>
96class basic_endpoint;
97
98template <class InternetProtocol>
99class basic_resolver_entry;
100
101template <class InternetProtocol>
102class basic_resolver_results;
103
104template <class InternetProtocol>
105class basic_resolver;
106
107class tcp;
108class udp;
109} // namespace ip
110
111} // namespace net
112#endif
Definition: protocol.h:33
Definition: socket.h:971
Definition: socket.h:1412
Definition: socket.h:711
Definition: socket.h:1144
Definition: timer.h:57
Definition: netfwd.h:33
Definition: executor.h:469
Definition: io_context.h:61
Definition: executor.h:845
Definition: executor.h:554
basic_address_iterator< address_v4 > address_v4_iterator
Definition: internet.h:924
basic_address_range< address_v4 > address_v4_range
Definition: internet.h:932
basic_address_iterator< address_v6 > address_v6_iterator
Definition: internet.h:925
basic_address_range< address_v6 > address_v6_range
Definition: internet.h:933
Definition: buffer.h:45
Definition: timer.h:40
static task_env * executor
Definition: xcom_base.cc:434