A consensus session consists of one local client and the remote authorities. More...
Data Fields | |
struct ConsensusSession * | next |
Consensus sessions are kept in a DLL. More... | |
struct ConsensusSession * | prev |
Consensus sessions are kept in a DLL. More... | |
unsigned int | num_client_insert_pending |
struct GNUNET_CONTAINER_MultiHashMap * | setmap |
struct GNUNET_CONTAINER_MultiHashMap * | rfnmap |
struct GNUNET_CONTAINER_MultiHashMap * | diffmap |
int * | peers_blacklisted |
Array of peers with length 'num_peers'. More... | |
struct GNUNET_CONTAINER_MultiHashMap * | taskmap |
struct Step * | steps_head |
struct Step * | steps_tail |
int | conclude_started |
int | conclude_done |
struct GNUNET_HashCode | global_id |
Global consensus identification, computed from the session id and participating authorities. More... | |
struct GNUNET_SERVICE_Client * | client |
Client that inhabits the session. More... | |
struct GNUNET_MQ_Handle * | client_mq |
Queued messages to the client. More... | |
struct GNUNET_TIME_Absolute | conclude_start |
Time when the conclusion of the consensus should begin. More... | |
struct GNUNET_TIME_Absolute | conclude_deadline |
Timeout for all rounds together, single rounds will schedule a timeout task with a fraction of the conclude timeout. More... | |
struct GNUNET_PeerIdentity * | peers |
unsigned int | num_peers |
Number of other peers in the consensus. More... | |
unsigned int | local_peer_idx |
Index of the local peer in the peers array. More... | |
struct GNUNET_SET_ListenHandle * | set_listener |
Listener for requests from other peers. More... | |
int | early_stopping |
State of our early stopping scheme. More... | |
uint64_t | first_size |
Our set size from the first round. More... | |
uint64_t * | first_sizes_received |
uint64_t | lower_bound |
Bounded Eppstein lower bound. More... | |
struct SetHandle * | set_handles_head |
struct SetHandle * | set_handles_tail |
A consensus session consists of one local client and the remote authorities.
Definition at line 408 of file gnunet-service-consensus.c.
struct ConsensusSession* ConsensusSession::next |
Consensus sessions are kept in a DLL.
Definition at line 413 of file gnunet-service-consensus.c.
Referenced by handle_client_join().
struct ConsensusSession* ConsensusSession::prev |
Consensus sessions are kept in a DLL.
Definition at line 418 of file gnunet-service-consensus.c.
unsigned int ConsensusSession::num_client_insert_pending |
Definition at line 420 of file gnunet-service-consensus.c.
Referenced by handle_client_insert().
struct GNUNET_CONTAINER_MultiHashMap* ConsensusSession::setmap |
Definition at line 422 of file gnunet-service-consensus.c.
Referenced by handle_client_join(), lookup_set(), and put_set().
struct GNUNET_CONTAINER_MultiHashMap* ConsensusSession::rfnmap |
Definition at line 423 of file gnunet-service-consensus.c.
Referenced by handle_client_join(), lookup_rfn(), and put_rfn().
struct GNUNET_CONTAINER_MultiHashMap* ConsensusSession::diffmap |
Definition at line 424 of file gnunet-service-consensus.c.
Referenced by handle_client_join(), lookup_diff(), and put_diff().
int* ConsensusSession::peers_blacklisted |
Array of peers with length 'num_peers'.
Definition at line 429 of file gnunet-service-consensus.c.
Referenced by commit_set(), handle_client_join(), set_result_cb(), and task_start_grade().
struct GNUNET_CONTAINER_MultiHashMap* ConsensusSession::taskmap |
Definition at line 438 of file gnunet-service-consensus.c.
Referenced by construct_task_graph(), construct_task_graph_gradecast(), handle_client_join(), and lookup_task().
struct Step* ConsensusSession::steps_head |
Definition at line 440 of file gnunet-service-consensus.c.
Referenced by create_step(), run_ready_steps(), and task_start_apply_round().
struct Step* ConsensusSession::steps_tail |
Definition at line 441 of file gnunet-service-consensus.c.
Referenced by create_step().
int ConsensusSession::conclude_started |
Definition at line 443 of file gnunet-service-consensus.c.
Referenced by handle_client_conclude(), and handle_client_insert().
int ConsensusSession::conclude_done |
Definition at line 445 of file gnunet-service-consensus.c.
struct GNUNET_HashCode ConsensusSession::global_id |
Global consensus identification, computed from the session id and participating authorities.
Definition at line 451 of file gnunet-service-consensus.c.
Referenced by compute_global_id(), handle_client_join(), and task_start_reconcile().
struct GNUNET_SERVICE_Client* ConsensusSession::client |
Client that inhabits the session.
Definition at line 456 of file gnunet-service-consensus.c.
Referenced by client_connect_cb(), handle_client_conclude(), handle_client_insert(), and handle_client_join().
struct GNUNET_MQ_Handle* ConsensusSession::client_mq |
Queued messages to the client.
Definition at line 461 of file gnunet-service-consensus.c.
Referenced by client_connect_cb(), and send_to_client_iter().
struct GNUNET_TIME_Absolute ConsensusSession::conclude_start |
Time when the conclusion of the consensus should begin.
Definition at line 466 of file gnunet-service-consensus.c.
Referenced by handle_client_join().
struct GNUNET_TIME_Absolute ConsensusSession::conclude_deadline |
Timeout for all rounds together, single rounds will schedule a timeout task with a fraction of the conclude timeout.
Only valid once the current round is not CONSENSUS_ROUND_BEGIN.
Definition at line 473 of file gnunet-service-consensus.c.
Referenced by handle_client_join().
struct GNUNET_PeerIdentity* ConsensusSession::peers |
Definition at line 475 of file gnunet-service-consensus.c.
Referenced by compute_global_id(), get_peer_idx(), initialize_session_peer_list(), and task_start_reconcile().
unsigned int ConsensusSession::num_peers |
Number of other peers in the consensus.
Definition at line 480 of file gnunet-service-consensus.c.
Referenced by compute_global_id(), construct_task_graph(), construct_task_graph_gradecast(), get_peer_idx(), handle_client_join(), initialize_session_peer_list(), set_result_cb(), task_start_apply_round(), task_start_grade(), and task_start_reconcile().
unsigned int ConsensusSession::local_peer_idx |
Index of the local peer in the peers array.
Definition at line 485 of file gnunet-service-consensus.c.
Referenced by commit_set(), construct_task_graph(), construct_task_graph_gradecast(), finish_task(), handle_client_insert(), handle_client_join(), lookup_diff(), lookup_rfn(), lookup_set(), run_ready_steps(), send_to_client_iter(), set_listen_cb(), set_result_cb(), start_task(), task_other_peer(), task_start_apply_round(), and task_start_reconcile().
struct GNUNET_SET_ListenHandle* ConsensusSession::set_listener |
Listener for requests from other peers.
Uses the session's global id as app id.
Definition at line 491 of file gnunet-service-consensus.c.
Referenced by client_disconnect_cb(), and handle_client_join().
int ConsensusSession::early_stopping |
State of our early stopping scheme.
Definition at line 496 of file gnunet-service-consensus.c.
Referenced by task_start_apply_round().
uint64_t ConsensusSession::first_size |
Our set size from the first round.
Definition at line 501 of file gnunet-service-consensus.c.
Referenced by commit_set(), and set_result_cb().
uint64_t* ConsensusSession::first_sizes_received |
Definition at line 503 of file gnunet-service-consensus.c.
Referenced by set_result_cb().
uint64_t ConsensusSession::lower_bound |
Bounded Eppstein lower bound.
Definition at line 508 of file gnunet-service-consensus.c.
Referenced by set_listen_cb(), set_result_cb(), and task_start_reconcile().
struct SetHandle* ConsensusSession::set_handles_head |
Definition at line 510 of file gnunet-service-consensus.c.
Referenced by client_disconnect_cb(), handle_client_join(), and set_copy_cb().
struct SetHandle* ConsensusSession::set_handles_tail |
Definition at line 511 of file gnunet-service-consensus.c.
Referenced by handle_client_join(), and set_copy_cb().