Template Struct CardinalQuorumState

Struct Documentation

template<typename Spec>
struct dish2::CardinalQuorumState

Public Types

using message_t = dish2::QuorumMessage<Spec>
using input_t = netuit::MeshNodeInput<typename Spec::quorum_mesh_spec_t>
using output_t = netuit::MeshNodeOutput<typename Spec::quorum_mesh_spec_t>

Public Functions

void ForgetLearnedBits(dish2::CellQuorumState<Spec> &cell_quorum_state)
void DoPushBits(message_t message_bits)
CardinalQuorumState(const input_t &input_, const output_t &output_)
size_t GetNumLearnedBits(const size_t lev) const
size_t GetNumLearnedBits() const
bool GetLearnedBit(const size_t lev, const size_t bit) const
void ResetTripCounter()
bool IsTripCounterComplete() const
bool ShouldPush() const
bool ShouldPull() const
void PushKnownBits(const CellQuorumState<Spec> &cell_quorum_state, const emp::array<char, Spec::NLEV> kin_match_by_lev)
bool TryPullIncomingBits()
void LearnPulledBits(dish2::CellQuorumState<Spec> &cell_quorum_state, const emp::array<char, Spec::NLEV> kin_match_by_lev)

Public Members

input_t input
output_t output
message_t learned_bits = {}
size_t half_trip_counter = {}