using time_point = clock::time_pointusing clock = std::chrono::steady_clockusing version_type = uint64_tusing container_type = std::unordered_map< sys::socket_address, hierarchy_node >using socket_address_array = std::vector< sys::socket_address >using resource_array = sbn::resource_arrayread(sbn::kernel_buffer & in) -> voidwrite(sbn::kernel_buffer & out) const -> voidtotal_threads() const -> uint64_tlast_modified(time_point rhs) -> voidlast_modified() const -> time_pointincrement_version() -> voidversion(version_type rhs) -> voidversion() const -> version_typeresources(const resource_array & rhs) -> voidresources() const -> const resource_array &The sum of all the resources (e.g. thread concurrency) of each cluster node "behind" this one in the hierarchy.
superior_socket_address(const sys::socket_address & rhs) -> voidsuperior_socket_address() const -> const sys::socket_address &socket_address(const sys::socket_address & rhs) -> voidsocket_address() const -> const sys::socket_address &has_superior() const -> booloperator!=(const hierarchy_node & rhs) const -> booloperator==(const hierarchy_node & rhs) const -> boolclear() -> voidhierarchy_node(const resource_array & w)explicithierarchy_node(const sys::socket_address & a, const resource_array & w)explicitoperator=(hierarchy_node &&) -> hierarchy_node &hierarchy_node(hierarchy_node &&)operator=(const hierarchy_node &) -> hierarchy_node &hierarchy_node(const hierarchy_node &)~hierarchy_node()hierarchy_node()operator<<(sbn::kernel_buffer & out, const hierarchy_node & rhs) -> sbn::kernel_buffer &operator<<(std::ostream & out, const hierarchy_node & rhs) -> std::ostream &operator>>(sbn::kernel_buffer & in, hierarchy_node & rhs) -> sbn::kernel_buffer &