|
SubView | make_subview (const std::vector< node_id_t > &with_members, const Mode mode=Mode::ORDERED, const std::vector< int > &is_sender={}, std::string profile="default") const |
| Constructs a SubView containing the provided subset of this View's members. More...
|
|
int | rank_of (const std::tuple< ip_addr_t, uint16_t, uint16_t, uint16_t, uint16_t > &who) const |
| Looks up the SST rank of an IP address. More...
|
|
int | rank_of (const node_id_t &who) const |
| Looks up the SST rank of a node ID. More...
|
|
int | find_rank_of_leader () const |
| Returns the rank of this View's leader, based on failed[]. More...
|
|
bool | i_am_leader () const |
|
bool | i_am_new_leader () |
| Determines whether this node is the new leader after a view change. More...
|
|
void | merge_changes () |
| Merges changes lists from other SST rows into this node's SST row. More...
|
|
void | wedge () |
| Wedges the view, which means wedging both SST and DerechoGroup. More...
|
|
int | subview_rank_of_shard_leader (subgroup_id_t subgroup_id, uint32_t shard_index) const |
| Computes the within-shard rank of a particular shard's leader, based on failed[]. More...
|
|
std::string | debug_string () const |
| Builds a human-readable string representing the state of the view. More...
|
|
| DEFAULT_SERIALIZATION_SUPPORT (View, vid, members, member_ips_and_ports, failed, num_failed, joined, departed, num_members, next_unassigned_rank, subgroup_ids_by_type_id, subgroup_shard_views, my_subgroups) |
|
| View (const int32_t vid, const std::vector< node_id_t > &members, const std::vector< std::tuple< ip_addr_t, uint16_t, uint16_t, uint16_t, uint16_t >> &member_ips_and_ports, const std::vector< char > &failed, const int32_t num_failed, const std::vector< node_id_t > &joined, const std::vector< node_id_t > &departed, const int32_t num_members, const int32_t next_unassigned_rank, const std::map< subgroup_type_id_t, std::vector< subgroup_id_t >> &subgroup_ids_by_type_id, const std::vector< std::vector< SubView >> &subgroup_shard_views, const std::map< subgroup_id_t, uint32_t > &my_subgroups) |
| Constructor used by deserialization: constructs a View given the values of its serialized fields. More...
|
|
| View (const int32_t vid, const std::vector< node_id_t > &members, const std::vector< std::tuple< ip_addr_t, uint16_t, uint16_t, uint16_t, uint16_t >> &member_ips_and_ports, const std::vector< char > &failed, const std::vector< node_id_t > &joined, const std::vector< node_id_t > &departed, const int32_t my_rank, const int32_t next_unassigned_rank, const std::vector< std::type_index > &subgroup_type_order) |
| Standard constructor for making a new View. More...
|
|
virtual std::size_t | to_bytes (char *v) const =0 |
| Write this class's marshalled representation into the array found at v. More...
|
|
virtual void | post_object (const std::function< void(char const *const, std::size_t)> &) const =0 |
| Pass a pointer to a buffer containing this class's marshalled representation into the function f. More...
|
|
virtual std::size_t | bytes_size () const =0 |
| the size of the marshalled representation of this object. More...
|
|
virtual | ~ByteRepresentable () |
|
|
const int32_t | vid |
| Sequential view ID: 0, 1, ... More...
|
|
const std::vector< node_id_t > | members |
| Node IDs of members in the current view, indexed by their SST rank. More...
|
|
const std::vector< std::tuple< ip_addr_t, uint16_t, uint16_t, uint16_t, uint16_t > > | member_ips_and_ports |
| IP addresses and ports (gms, rpc, sst, rdmc in order) of members in the current view, indexed by their SST rank. More...
|
|
std::vector< char > | failed |
| failed[i] is true if members[i] is considered to have failed. More...
|
|
int32_t | num_failed |
| Number of current outstanding failures in this view. More...
|
|
std::vector< node_id_t > | joined |
| List of IDs of nodes that joined since the previous view, if any. More...
|
|
std::vector< node_id_t > | departed |
| List of IDs of nodes that left since the previous view, if any. More...
|
|
const int32_t | num_members |
| Number of members in this view. More...
|
|
int32_t | my_rank |
| The rank of this node (as returned by rank_of()) More...
|
|
bool | is_adequately_provisioned = true |
| Set to false during MulticastGroup setup if a subgroup membership function throws a subgroup_provisioning_exception. More...
|
|
int32_t | next_unassigned_rank |
| The rank of the lowest-ranked member that is not assigned to a subgroup in this View. More...
|
|
std::unique_ptr< MulticastGroup > | multicast_group |
| RDMC manager object used for sending multicasts. More...
|
|
std::shared_ptr< DerechoSST > | gmsSST |
| Pointer to the SST instance used by the GMS in this View. More...
|
|
std::vector< std::type_index > | subgroup_type_order |
| The order of subgroup types as they were declared in the Group's template parameters. More...
|
|
std::map< subgroup_type_id_t, std::vector< subgroup_id_t > > | subgroup_ids_by_type_id |
| Maps the (type, index) pairs used by users to identify subgroups to the internal subgroup IDs generated by ViewManager during SST setup. More...
|
|
std::vector< std::vector< SubView > > | subgroup_shard_views |
| Maps subgroup ID -> shard number -> SubView for that subgroup/shard. More...
|
|
std::map< subgroup_id_t, uint32_t > | my_subgroups |
| Lists the (subgroup ID, shard num) pairs that this node is a member of. More...
|
|
std::map< node_id_t, uint32_t > | node_id_to_rank |
| Reverse index of members[]; maps node ID -> SST rank. More...
|
|
bool | i_know_i_am_leader = false |
|
Definition at line 94 of file view.hpp.