Template Struct Cardinal

Struct Documentation

template<typename Spec>
struct dish2::Cardinal

Public Types

using genome_mesh_spec_t = typename Spec::genome_mesh_spec_t
using genome_node_input_t = netuit::MeshNodeInput<genome_mesh_spec_t>
using genome_node_output_t = netuit::MeshNodeOutput<genome_mesh_spec_t>
using intra_message_mesh_spec_t = typename Spec::intra_message_mesh_spec_t
using intra_message_node_t = netuit::MeshNode<intra_message_mesh_spec_t>
using message_mesh_spec_t = typename Spec::message_mesh_spec_t
using message_node_input_t = netuit::MeshNodeInput<message_mesh_spec_t>
using message_node_output_t = netuit::MeshNodeOutput<message_mesh_spec_t>
using push_mesh_spec_t = typename Spec::push_mesh_spec_t
using push_node_input_t = netuit::MeshNodeInput<push_mesh_spec_t>
using push_node_output_t = netuit::MeshNodeOutput<push_mesh_spec_t>
using quorum_mesh_spec_t = typename Spec::quorum_mesh_spec_t
using quorum_node_input_t = netuit::MeshNodeInput<quorum_mesh_spec_t>
using quorum_node_output_t = netuit::MeshNodeOutput<quorum_mesh_spec_t>
using resource_mesh_spec_t = typename Spec::resource_mesh_spec_t
using resource_node_input_t = netuit::MeshNodeInput<resource_mesh_spec_t>
using resource_node_output_t = netuit::MeshNodeOutput<resource_mesh_spec_t>
using state_mesh_spec_t = typename Spec::state_mesh_spec_t
using state_node_input_t = netuit::MeshNodeInput<state_mesh_spec_t>
using state_node_output_t = netuit::MeshNodeOutput<state_mesh_spec_t>
using sgpl_spec_t = typename Spec::sgpl_spec_t
using tag_t = typename Spec::tag_t
using cpu_t = sgpl::Cpu<sgpl_spec_t>
using peripheral_t = dish2::Peripheral<Spec>
using spec_t = Spec

Public Functions

Cardinal(const genome_node_input_t &genome_node_input_, const genome_node_output_t &genome_node_output_, const message_node_input_t &message_node_input_, const message_node_output_t &message_node_output_, const push_node_input_t &push_node_input_, const push_node_output_t &push_node_output_, const quorum_node_input_t &quorum_node_input_, const quorum_node_output_t &quorum_node_output_, const resource_node_input_t &resource_node_input_, const resource_node_output_t &resource_node_output_, const state_node_input_t &state_node_input_, const state_node_output_t &state_node_output_, const intra_message_node_t &intra_message_node_)
void LoadProgram(const sgpl::Program<sgpl_spec_t> &program, const size_t root_id)
void Reset()
void DispatchEvent(const tag_t &tag)
bool IsNeighborKin(const size_t lev)

Public Members

genome_node_input_t genome_node_input
genome_node_output_t genome_node_output
intra_message_node_t intra_message_node
message_node_input_t message_node_input
message_node_output_t message_node_output
push_node_input_t push_node_input
push_node_output_t push_node_output
dish2::CardinalQuorumState<Spec> cardinal_quorum_state
resource_node_input_t resource_node_input
resource_node_output_t resource_node_output
state_node_input_t state_node_input
state_node_output_t state_node_output
cpu_t cpu
peripheral_t peripheral