public sbnd::socket_pipeline_clientwebsocket_pipeline_client(websocket_pipeline_client && rhs)websocket_pipeline_client(const websocket_pipeline_client &)operator=(websocket_pipeline_client &&) -> websocket_pipeline_client &operator=(const websocket_pipeline_client &) -> websocket_pipeline_client &~websocket_pipeline_client()websocket_pipeline_client()websocket_pipeline_client(sys::socket && socket)explicitwrite_kernel(const sbn::kernel * k) -> voidvirtualhandle(const sys::epoll_event & event) -> voidvirtualpublic sbn::connectionusing counter_type = id_typeusing id_type = typename interface_address_type::rep_typeusing interface_socket_address_type = sys::interface_socket_address< ip_address >using interface_address_type = sys::interface_address< ip_address >using ip_address = sys::ipv4_addressparent() const -> socket_pipeline *remove(const connection_ptr & self) -> voidvirtualadd(const connection_ptr & self) -> voidvirtualhandle(const sys::epoll_event & ev) -> voidvirtualprotocol() const -> protocolssocket() -> sys::socket &socket() const -> const sys::socket &fd() const -> sys::fd_typeinterface_socket_address() const -> interface_socket_address_typeinterface_address() const -> const interface_address_typeoperator=(socket_pipeline_server &&) -> socket_pipeline_server &socket_pipeline_server(socket_pipeline_server &&)operator=(const socket_pipeline_server &) -> socket_pipeline_server &socket_pipeline_server(const socket_pipeline_server &)~socket_pipeline_server()socket_pipeline_server()socket_pipeline_server(const interface_socket_address_type & ifaddr, protocols protocol = protocols::tcp)explicitsocket_pipeline_server(const interface_address_type & ifaddr, sys::port_type port, protocols protocol)explicitpublic sbn::basic_socket_pipelineusing counter_type = uint32_tusing interface_address = sys::interface_address< ip_address >using ip_address = sys::ipv4_addressroute(bool rhs) -> voidroute() const -> boolscheduler() -> socket_pipeline_scheduler &scheduler() const -> const socket_pipeline_scheduler &remove_server(const interface_address & interface_address) -> voidclients() const -> const client_table &servers() const -> const server_array &websocket_port(const sys::port_type & rhs) -> voidwebsocket_port() const -> const sys::port_type &tcp_port(const sys::port_type & rhs) -> voidtcp_port() const -> const sys::port_type &forward(sbn::kernel_ptr && hdr) -> voidvirtualadd(server_ptr server) -> voidadd_server(const sys::socket_address & rhs, ip_address netmask, socket_pipeline_server::protocols protocol = socket_pipeline_server::protocols::tcp) -> voidadd_server(const interface_address & rhs) -> voidupdate_clients(const hierarchy_type & hierarchy) -> voidstop_client(const sys::socket_address & addr) -> voidadd_client(const sys::socket_address & addr, const hierarchy_type & hierarchy) -> voidoperator=(socket_pipeline &&) -> socket_pipeline &operator=(const socket_pipeline &) -> socket_pipeline &socket_pipeline(socket_pipeline &&)socket_pipeline(const socket_pipeline &)~socket_pipeline()socket_pipeline()socket_pipeline(const properties & p)explicitusing resource_array = sbn::resources::Bindingsusing file_system_ptr = std::shared_ptr< file_system >using counter_array = std::array< counter_type, 2 >using counter_type = uint32_tusing server_array = std::vector< server_ptr >using server_ptr = std::shared_ptr< socket_pipeline_server >using client_iterator = typename client_table::const_iteratorusing client_table = std::unordered_map< sys::socket_address, client_ptr >using client_ptr = std::shared_ptr< socket_pipeline_client >template <class ... Args> log(const Args &... args) const -> voidrebase_counters(const client_table & clients) -> voidadd_file_system(file_system_ptr ptr) -> voidlocal_resources(const resource_array & rhs) -> voidlocal_resources() const -> const resource_array &local() const -> boollocal(bool rhs) -> voidschedule(sbn::kernel * k, const client_table & clients, const server_array & servers) -> client_iteratorpublic sbn::connectionusing hierarchy_node_array = std::vector< hierarchy_node >using resource_array = sbn::resources::Bindingsusing kernel_queue = std::deque< sbn::kernel_ptr >using counter_array = std::array< counter_type, 2 >using counter_type = socket_pipeline::counter_typewrite(std::ostream & out) const -> voidvirtualrelative_load() const -> sbn::modular_weight_arrayThe first element is the number of kernels with the maximum weight sent to the client divided by the number of cluster nodes. Each kernel uses all threads of the client. The second element is the number of kernels sent to the client divided by the number of threads "behind" the client.
num_nodes_behind() const -> counter_typenum_threads_behind() const -> counter_typeThe number of threads "behind" this node in the hierarchy.
receive_foreign_kernel(sbn::kernel_ptr && k) -> voidvirtualmatch(sbn::kernel::resource_expression & node_filter) -> boolupdate_counters() -> voidnodes_behind(const hierarchy_node_array & rhs) -> voidnodes_behind() const -> const hierarchy_node_array &route(bool rhs) -> voidroute() const -> boolparent() const -> socket_pipeline *activate(const connection_ptr & self) -> voidvirtualdeactivate(const connection_ptr & self) -> voidvirtualremove(const connection_ptr &) -> voidvirtualadd(const connection_ptr & self) -> voidvirtualsocket() -> sys::socket &socket() const -> const sys::socket &flush() -> voidvirtualhandle(const sys::epoll_event & event) -> voidvirtualrecover() -> voidforward(sbn::kernel_ptr k) -> sbn::kernel_ptrsocket_pipeline_client(socket_pipeline_client && rhs)socket_pipeline_client(const socket_pipeline_client &)operator=(socket_pipeline_client &&) -> socket_pipeline_client &operator=(const socket_pipeline_client &) -> socket_pipeline_client &socket_pipeline_client()~socket_pipeline_client()virtualsocket_pipeline_client(sys::socket && socket)explicit