#include <vector>
#include <derecho/core/derecho_modes.hpp>
#include <derecho/core/detail/container_template_functions.hpp>
#include <derecho/core/detail/derecho_internal.hpp>
#include <derecho/core/subgroup_functions.hpp>
#include <derecho/core/view.hpp>
Go to the source code of this file.
Namespaces | |
derecho | |
Functions | |
subgroup_allocation_map_t | derecho::one_subgroup_entire_view (const std::vector< std::type_index > &subgroup_type_order, const std::unique_ptr< View > &prev_view, View &curr_view) |
A simple implementation of shard_view_generator_t that creates a single, un-sharded subgroup containing all the members of curr_view for every subgroup type in the list. More... | |
subgroup_allocation_map_t | derecho::one_subgroup_entire_view_raw (const std::vector< std::type_index > &subgroup_type_order, const std::unique_ptr< View > &prev_view, View &curr_view) |
A simple implementation of shard_view_generator_t that returns a single, un-sharded subgroup in Unordered (Raw) mode containing all the members of curr_view for every type in the list. More... | |
ShardAllocationPolicy | derecho::flexible_even_shards (const std::string &profile) |
Returns a ShardAllocationPolicy that specifies a set number of "flexible" shards, each of which has the same minimum and maximum number of nodes, using the values of the constants num_shards, min_nodes, and max_nodes in the section of the configuration file identified by the profile string. More... | |
ShardAllocationPolicy | derecho::flexible_even_shards (int num_shards, int min_nodes_per_shard, int max_nodes_per_shard, const std::string &profile="default") |
Returns a ShardAllocationPolicy that specifies num_shards "flexible" or fault-tolerant shards, each of which has the same minimum number of nodes and maximum number of nodes. More... | |
ShardAllocationPolicy | derecho::fixed_even_shards (int num_shards, int nodes_per_shard, const std::string &profile="default") |
Returns a ShardAllocationPolicy that specifies num_shards shards with the same fixed number of nodes in each shard; each shard must have exactly nodes_per_shard members. More... | |
ShardAllocationPolicy | derecho::raw_fixed_even_shards (int num_shards, int nodes_per_shard, const std::string &profile="default") |
Returns a ShardAllocationPolicy that specifies num_shards shards with the same fixed number of nodes in each shard, and every shard running in "raw" delivery mode. More... | |
ShardAllocationPolicy | derecho::custom_shard_policy (const std::vector< Mode > &delivery_modes_by_shard, const std::vector< std::string > &profiles_by_shard) |
Returns a ShardAllocationPolicy for a subgroup that has a different number of members in each shard, and possibly has each shard in a different delivery mode. More... | |
ShardAllocationPolicy | derecho::custom_shards_policy (const std::vector< int > &min_nodes_by_shard, const std::vector< int > &max_nodes_by_shard, const std::vector< Mode > &delivery_modes_by_shard, const std::vector< std::string > &profiles_by_shard) |
Returns a ShardAllocationPolicy for a subgroup that has a different number of members in each shard, and possibly has each shard in a different delivery mode. More... | |
SubgroupAllocationPolicy | derecho::one_subgroup_policy (const ShardAllocationPolicy &policy) |
Returns a SubgroupAllocationPolicy for a replicated type that only has a single subgroup. More... | |
SubgroupAllocationPolicy | derecho::identical_subgroups_policy (int num_subgroups, const ShardAllocationPolicy &subgroup_policy) |
Returns a SubgroupAllocationPolicy for a replicated type that needs n subgroups with identical sharding policies. More... | |
Definition in file subgroup_functions.cpp.