s/networking/network/
Just because.
This commit is contained in:
@@ -36,7 +36,7 @@ wrap_syscall(T result) {
|
||||
}
|
||||
|
||||
reactor::reactor()
|
||||
: _networking_stack(networking_stack_registry::create())
|
||||
: _network_stack(network_stack_registry::create())
|
||||
, _epollfd(file_desc::epoll_create(EPOLL_CLOEXEC))
|
||||
, _io_eventfd()
|
||||
, _io_context(0)
|
||||
@@ -50,9 +50,9 @@ reactor::reactor()
|
||||
}
|
||||
|
||||
void reactor::configure(boost::program_options::variables_map vm) {
|
||||
_networking_stack = vm.count("network-stack")
|
||||
? networking_stack_registry::create(sstring(vm["network-stack"].as<std::string>()))
|
||||
: networking_stack_registry::create();
|
||||
_network_stack = vm.count("network-stack")
|
||||
? network_stack_registry::create(sstring(vm["network-stack"].as<std::string>()))
|
||||
: network_stack_registry::create();
|
||||
}
|
||||
|
||||
future<> reactor::get_epoll_future(pollable_fd_state& pfd,
|
||||
@@ -104,7 +104,7 @@ reactor::posix_listen(socket_address sa, listen_options opts) {
|
||||
|
||||
server_socket
|
||||
reactor::listen(socket_address sa, listen_options opt) {
|
||||
return _networking_stack->listen(sa, opt);
|
||||
return _network_stack->listen(sa, opt);
|
||||
}
|
||||
|
||||
class posix_connected_socket_impl final : public connected_socket_impl {
|
||||
@@ -449,23 +449,23 @@ posix_data_sink_impl::do_write(size_t idx) {
|
||||
}
|
||||
|
||||
server_socket
|
||||
posix_networking_stack::listen(socket_address sa, listen_options opt) {
|
||||
posix_network_stack::listen(socket_address sa, listen_options opt) {
|
||||
return server_socket(std::make_unique<posix_server_socket_impl>(the_reactor.posix_listen(sa, opt)));
|
||||
}
|
||||
|
||||
void networking_stack_registry::register_stack(sstring name,
|
||||
std::function<std::unique_ptr<networking_stack> ()> create, bool make_default) {
|
||||
void network_stack_registry::register_stack(sstring name,
|
||||
std::function<std::unique_ptr<network_stack> ()> create, bool make_default) {
|
||||
_map()[name] = std::move(create);
|
||||
if (make_default) {
|
||||
_default() = name;
|
||||
}
|
||||
}
|
||||
|
||||
sstring networking_stack_registry::default_stack() {
|
||||
sstring network_stack_registry::default_stack() {
|
||||
return _default();
|
||||
}
|
||||
|
||||
std::vector<sstring> networking_stack_registry::list() {
|
||||
std::vector<sstring> network_stack_registry::list() {
|
||||
std::vector<sstring> ret;
|
||||
for (auto&& ns : _map()) {
|
||||
ret.push_back(ns.first);
|
||||
@@ -473,13 +473,13 @@ std::vector<sstring> networking_stack_registry::list() {
|
||||
return ret;
|
||||
}
|
||||
|
||||
std::unique_ptr<networking_stack>
|
||||
networking_stack_registry::create() {
|
||||
std::unique_ptr<network_stack>
|
||||
network_stack_registry::create() {
|
||||
return create(_default());
|
||||
}
|
||||
|
||||
std::unique_ptr<networking_stack>
|
||||
networking_stack_registry::create(sstring name) {
|
||||
std::unique_ptr<network_stack>
|
||||
network_stack_registry::create(sstring name) {
|
||||
return _map()[name]();
|
||||
}
|
||||
|
||||
@@ -487,15 +487,15 @@ boost::program_options::options_description
|
||||
reactor::get_options_description() {
|
||||
namespace bpo = boost::program_options;
|
||||
bpo::options_description opts("Core options");
|
||||
auto net_stack_names = networking_stack_registry::list();
|
||||
auto net_stack_names = network_stack_registry::list();
|
||||
opts.add_options()
|
||||
("network-stack", bpo::value<std::string>(),
|
||||
sprint("select networking stack (valid values: %s)",
|
||||
sprint("select network stack (valid values: %s)",
|
||||
format_separated(net_stack_names.begin(), net_stack_names.end(), ", ")).c_str())
|
||||
;
|
||||
return opts;
|
||||
}
|
||||
|
||||
networking_stack_registrator<posix_networking_stack> nsr_posix{"posix", true};
|
||||
network_stack_registrator<posix_network_stack> nsr_posix{"posix", true};
|
||||
|
||||
reactor the_reactor;
|
||||
|
||||
@@ -223,17 +223,17 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class networking_stack {
|
||||
class network_stack {
|
||||
public:
|
||||
virtual ~networking_stack() {}
|
||||
virtual ~network_stack() {}
|
||||
virtual server_socket listen(socket_address sa, listen_options opts) = 0;
|
||||
};
|
||||
|
||||
class networking_stack_registry {
|
||||
class network_stack_registry {
|
||||
static std::unordered_map<sstring,
|
||||
std::function<std::unique_ptr<networking_stack> ()>>& _map() {
|
||||
std::function<std::unique_ptr<network_stack> ()>>& _map() {
|
||||
static std::unordered_map<sstring,
|
||||
std::function<std::unique_ptr<networking_stack> ()>> map;
|
||||
std::function<std::unique_ptr<network_stack> ()>> map;
|
||||
return map;
|
||||
}
|
||||
static sstring& _default() {
|
||||
@@ -242,22 +242,22 @@ class networking_stack_registry {
|
||||
}
|
||||
public:
|
||||
static void register_stack(sstring name,
|
||||
std::function<std::unique_ptr<networking_stack> ()> create, bool make_default = false);
|
||||
std::function<std::unique_ptr<network_stack> ()> create, bool make_default = false);
|
||||
static sstring default_stack();
|
||||
static std::vector<sstring> list();
|
||||
static std::unique_ptr<networking_stack> create();
|
||||
static std::unique_ptr<networking_stack> create(sstring name);
|
||||
static std::unique_ptr<network_stack> create();
|
||||
static std::unique_ptr<network_stack> create(sstring name);
|
||||
};
|
||||
|
||||
template <typename NetworkStack>
|
||||
class networking_stack_registrator {
|
||||
class network_stack_registrator {
|
||||
public:
|
||||
explicit networking_stack_registrator(sstring name, bool make_default = false) {
|
||||
networking_stack_registry::register_stack(name, std::make_unique<NetworkStack>, make_default);
|
||||
explicit network_stack_registrator(sstring name, bool make_default = false) {
|
||||
network_stack_registry::register_stack(name, std::make_unique<NetworkStack>, make_default);
|
||||
}
|
||||
};
|
||||
|
||||
class posix_networking_stack : public networking_stack {
|
||||
class posix_network_stack : public network_stack {
|
||||
public:
|
||||
virtual server_socket listen(socket_address sa, listen_options opts) override;
|
||||
};
|
||||
@@ -338,7 +338,7 @@ class reactor {
|
||||
};
|
||||
std::unordered_map<int, signal_handler> _signal_handlers;
|
||||
bool _stopped = false;
|
||||
std::unique_ptr<networking_stack> _networking_stack;
|
||||
std::unique_ptr<network_stack> _network_stack;
|
||||
public:
|
||||
file_desc _epollfd;
|
||||
readable_eventfd _io_eventfd;
|
||||
|
||||
18
net/stack.cc
18
net/stack.cc
@@ -12,7 +12,7 @@
|
||||
|
||||
namespace net {
|
||||
|
||||
class native_networking_stack;
|
||||
class native_network_stack;
|
||||
|
||||
template <typename Protocol>
|
||||
class native_server_socket_impl;
|
||||
@@ -41,19 +41,19 @@ public:
|
||||
virtual future<connected_socket, socket_address> accept() override;
|
||||
};
|
||||
|
||||
class native_networking_stack : public networking_stack {
|
||||
static std::unique_ptr<native_networking_stack> _s;
|
||||
class native_network_stack : public network_stack {
|
||||
static std::unique_ptr<native_network_stack> _s;
|
||||
interface _netif;
|
||||
ipv4 _inet;
|
||||
using tcp4 = tcp<ipv4_traits>;
|
||||
public:
|
||||
explicit native_networking_stack(std::unique_ptr<device> dev);
|
||||
explicit native_networking_stack() : native_networking_stack(create_virtio_net_device("tap0")) {}
|
||||
explicit native_network_stack(std::unique_ptr<device> dev);
|
||||
explicit native_network_stack() : native_network_stack(create_virtio_net_device("tap0")) {}
|
||||
virtual server_socket listen(socket_address sa, listen_options opt) override;
|
||||
friend class native_server_socket_impl<tcp4>;
|
||||
};
|
||||
|
||||
native_networking_stack::native_networking_stack(std::unique_ptr<device> dev)
|
||||
native_network_stack::native_network_stack(std::unique_ptr<device> dev)
|
||||
: _netif(std::move(dev))
|
||||
, _inet(&_netif) {
|
||||
_netif.run();
|
||||
@@ -76,7 +76,7 @@ native_server_socket_impl<Protocol>::accept() {
|
||||
}
|
||||
|
||||
server_socket
|
||||
native_networking_stack::listen(socket_address sa, listen_options opts) {
|
||||
native_network_stack::listen(socket_address sa, listen_options opts) {
|
||||
assert(sa.as_posix_sockaddr().sa_family == AF_INET);
|
||||
return server_socket(std::make_unique<native_server_socket_impl<tcp4>>(
|
||||
_inet.get_tcp(), ntohs(sa.as_posix_sockaddr_in().sin_port), opts));
|
||||
@@ -138,8 +138,8 @@ native_connected_socket_impl<Protocol>::output() {
|
||||
}
|
||||
|
||||
|
||||
std::unique_ptr<native_networking_stack> native_networking_stack::_s;
|
||||
std::unique_ptr<native_network_stack> native_network_stack::_s;
|
||||
|
||||
networking_stack_registrator<native_networking_stack> nns_registrator{"native"};
|
||||
network_stack_registrator<native_network_stack> nns_registrator{"native"};
|
||||
|
||||
}
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
|
||||
namespace net {
|
||||
|
||||
std::unique_ptr<networking_stack>
|
||||
create_native_networking_stack();
|
||||
std::unique_ptr<network_stack>
|
||||
create_native_network_stack();
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user