GNUnet 0.21.1
ConsensusSession Struct Reference

A consensus session consists of one local client and the remote authorities. More...

Collaboration diagram for ConsensusSession:
[legend]

Data Fields

struct ConsensusSessionnext
 Consensus sessions are kept in a DLL. More...
 
struct ConsensusSessionprev
 Consensus sessions are kept in a DLL. More...
 
unsigned int num_client_insert_pending
 
struct GNUNET_CONTAINER_MultiHashMapsetmap
 
struct GNUNET_CONTAINER_MultiHashMaprfnmap
 
struct GNUNET_CONTAINER_MultiHashMapdiffmap
 
int * peers_blacklisted
 Array of peers with length 'num_peers'. More...
 
struct GNUNET_CONTAINER_MultiHashMaptaskmap
 
struct Stepsteps_head
 
struct Stepsteps_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_Clientclient
 Client that inhabits the session. More...
 
struct GNUNET_MQ_Handleclient_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_PeerIdentitypeers
 
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_ListenHandleset_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 SetHandleset_handles_head
 
struct SetHandleset_handles_tail
 

Detailed Description

A consensus session consists of one local client and the remote authorities.

Definition at line 410 of file gnunet-service-consensus.c.

Field Documentation

◆ next

struct ConsensusSession* ConsensusSession::next

Consensus sessions are kept in a DLL.

Definition at line 415 of file gnunet-service-consensus.c.

Referenced by handle_client_join().

◆ prev

struct ConsensusSession* ConsensusSession::prev

Consensus sessions are kept in a DLL.

Definition at line 420 of file gnunet-service-consensus.c.

◆ num_client_insert_pending

unsigned int ConsensusSession::num_client_insert_pending

Definition at line 422 of file gnunet-service-consensus.c.

Referenced by handle_client_insert().

◆ setmap

struct GNUNET_CONTAINER_MultiHashMap* ConsensusSession::setmap

Definition at line 424 of file gnunet-service-consensus.c.

Referenced by handle_client_join(), lookup_set(), and put_set().

◆ rfnmap

struct GNUNET_CONTAINER_MultiHashMap* ConsensusSession::rfnmap

Definition at line 425 of file gnunet-service-consensus.c.

Referenced by handle_client_join(), lookup_rfn(), and put_rfn().

◆ diffmap

struct GNUNET_CONTAINER_MultiHashMap* ConsensusSession::diffmap

Definition at line 426 of file gnunet-service-consensus.c.

Referenced by handle_client_join(), lookup_diff(), and put_diff().

◆ peers_blacklisted

int* ConsensusSession::peers_blacklisted

Array of peers with length 'num_peers'.

Definition at line 431 of file gnunet-service-consensus.c.

Referenced by commit_set(), handle_client_join(), set_result_cb(), and task_start_grade().

◆ taskmap

◆ steps_head

struct Step* ConsensusSession::steps_head

◆ steps_tail

struct Step* ConsensusSession::steps_tail

Definition at line 443 of file gnunet-service-consensus.c.

Referenced by create_step().

◆ conclude_started

int ConsensusSession::conclude_started

Definition at line 445 of file gnunet-service-consensus.c.

Referenced by handle_client_conclude(), and handle_client_insert().

◆ conclude_done

int ConsensusSession::conclude_done

Definition at line 447 of file gnunet-service-consensus.c.

◆ global_id

struct GNUNET_HashCode ConsensusSession::global_id

Global consensus identification, computed from the session id and participating authorities.

Definition at line 453 of file gnunet-service-consensus.c.

Referenced by compute_global_id(), handle_client_join(), and task_start_reconcile().

◆ client

struct GNUNET_SERVICE_Client* ConsensusSession::client

Client that inhabits the session.

Definition at line 458 of file gnunet-service-consensus.c.

Referenced by client_connect_cb(), handle_client_conclude(), handle_client_insert(), and handle_client_join().

◆ client_mq

struct GNUNET_MQ_Handle* ConsensusSession::client_mq

Queued messages to the client.

Definition at line 463 of file gnunet-service-consensus.c.

Referenced by client_connect_cb(), and send_to_client_iter().

◆ conclude_start

struct GNUNET_TIME_Absolute ConsensusSession::conclude_start

Time when the conclusion of the consensus should begin.

Definition at line 468 of file gnunet-service-consensus.c.

Referenced by handle_client_join().

◆ conclude_deadline

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 475 of file gnunet-service-consensus.c.

Referenced by handle_client_join().

◆ peers

struct GNUNET_PeerIdentity* ConsensusSession::peers

◆ num_peers

◆ local_peer_idx

◆ set_listener

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 493 of file gnunet-service-consensus.c.

Referenced by client_disconnect_cb(), and handle_client_join().

◆ early_stopping

int ConsensusSession::early_stopping

State of our early stopping scheme.

Definition at line 498 of file gnunet-service-consensus.c.

Referenced by task_start_apply_round().

◆ first_size

uint64_t ConsensusSession::first_size

Our set size from the first round.

Definition at line 503 of file gnunet-service-consensus.c.

Referenced by commit_set(), and set_result_cb().

◆ first_sizes_received

uint64_t* ConsensusSession::first_sizes_received

Definition at line 505 of file gnunet-service-consensus.c.

Referenced by set_result_cb().

◆ lower_bound

uint64_t ConsensusSession::lower_bound

Bounded Eppstein lower bound.

Definition at line 510 of file gnunet-service-consensus.c.

Referenced by set_listen_cb(), set_result_cb(), and task_start_reconcile().

◆ set_handles_head

struct SetHandle* ConsensusSession::set_handles_head

◆ set_handles_tail

struct SetHandle* ConsensusSession::set_handles_tail

Definition at line 513 of file gnunet-service-consensus.c.

Referenced by handle_client_join(), and set_copy_cb().


The documentation for this struct was generated from the following file: