6#include <userver/components/component_base.hpp>
7#include <userver/concurrent/background_task_storage.hpp>
8#include <userver/engine/io/socket.hpp>
9#include <userver/engine/task/task.hpp>
11USERVER_NAMESPACE_BEGIN
13namespace server::net {
34 TcpAcceptorBase(
const ComponentConfig&,
const ComponentContext&);
35 ~TcpAcceptorBase() override;
37 static yaml_config::Schema GetStaticConfigSchema();
48 const ComponentConfig& config,
49 const ComponentContext& context,
50 const server::net::ListenerConfig& acceptor_config
53 void KeepAccepting(engine::io::Socket& listen_sock);
59 engine::io::Socket listen_sock;
60 engine::Task acceptor;
64 engine::TaskProcessor& acceptor_task_processor_;
65 engine::TaskProcessor& sockets_task_processor_;
66 concurrent::BackgroundTaskStorageCore tasks_;
67 std::vector<SocketData> sockets_;