MySQL 8.2.0
Source Code Documentation
netfwd.h
Go to the documentation of this file.
1/*
2 Copyright (c) 2020, 2023, 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 also distributed 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 included with MySQL.
14
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
23*/
24
25#ifndef MYSQL_HARNESS_NET_TS_NETFWD_H_
26#define MYSQL_HARNESS_NET_TS_NETFWD_H_
27
28namespace net {
29class execution_context;
30
31template <class T, class Executor>
33
34template <class Executor>
36
37class system_executor;
38
39class executor;
40
41template <class Executor>
42class strand;
43
44class io_context;
45
46template <class Clock>
47struct wait_traits;
48
49template <class Clock, class WaitTraits = wait_traits<Clock>>
51
52template <class Protocol>
53class basic_socket;
54
55template <class Protocol>
57
58template <class Protocol>
60
61template <class Protocol>
63
64#if 0
65// not implemented yet
66template <class Protocol, class Clock = std::chrono::steady_clock,
67 class WaitTraits = wait_traits<Clock>>
68class basic_socket_streambuf;
69
70template <class Protocol, class Clock = std::chrono::steady_clock,
71 class WaitTraits = wait_traits<Clock>>
72class basic_socket_iostream;
73#endif
74
75namespace ip {
76class address;
77class address_v4;
78class address_v6;
79
80template <class Address>
81class basic_address_iterator;
82
83using address_v4_iterator = basic_address_iterator<address_v4>;
84using address_v6_iterator = basic_address_iterator<address_v6>;
85
86template <class Address>
87class basic_address_range;
88using address_v4_range = basic_address_range<address_v4>;
89using address_v6_range = basic_address_range<address_v6>;
90
91class network_v4;
92class network_v6;
93
94template <class InternetProtocol>
95class basic_endpoint;
96
97template <class InternetProtocol>
98class basic_resolver_entry;
99
100template <class InternetProtocol>
101class basic_resolver_results;
102
103template <class InternetProtocol>
104class basic_resolver;
105
106class tcp;
107class udp;
108} // namespace ip
109
110} // namespace net
111#endif
Definition: protocol.h:32
Definition: socket.h:910
Definition: socket.h:1292
Definition: socket.h:710
Definition: socket.h:1089
Definition: timer.h:56
Definition: netfwd.h:32
Definition: executor.h:451
Definition: io_context.h:60
Definition: executor.h:827
Definition: executor.h:536
basic_address_iterator< address_v4 > address_v4_iterator
Definition: internet.h:923
basic_address_range< address_v4 > address_v4_range
Definition: internet.h:931
basic_address_iterator< address_v6 > address_v6_iterator
Definition: internet.h:924
basic_address_range< address_v6 > address_v6_range
Definition: internet.h:932
Definition: buffer.h:44
Definition: timer.h:39
static task_env * executor
Definition: xcom_base.cc:433