GNUnet 0.21.1
Step Struct Reference
Collaboration diagram for Step:
[legend]

Data Fields

struct Stepprev
 All steps of one session are in a linked list for easier deallocation. More...
 
struct Stepnext
 All steps of one session are in a linked list for easier deallocation. More...
 
struct ConsensusSessionsession
 
struct TaskEntry ** tasks
 Tasks that this step is composed of. More...
 
unsigned int tasks_len
 
unsigned int tasks_cap
 
unsigned int finished_tasks
 
struct Step ** subordinates
 
unsigned int subordinates_len
 
unsigned int subordinates_cap
 
size_t pending_prereq
 Counter for the prerequisites of this step. More...
 
struct GNUNET_SCHEDULER_Tasktimeout_task
 Task that will run this step despite any pending prerequisites. More...
 
unsigned int is_running
 
unsigned int is_finished
 
unsigned int round
 Synchrony round of the task. More...
 
char * debug_name
 Human-readable name for the task, used for debugging. More...
 
int early_finishable
 When we're doing an early finish, how should this step be treated? If GNUNET_YES, the step will be marked as finished without actually running its tasks. More...
 

Detailed Description

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

Field Documentation

◆ prev

struct Step* Step::prev

All steps of one session are in a linked list for easier deallocation.

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

◆ next

struct Step* Step::next

All steps of one session are in a linked list for easier deallocation.

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

Referenced by run_ready_steps(), and task_start_apply_round().

◆ session

◆ tasks

struct TaskEntry** Step::tasks

Tasks that this step is composed of.

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

Referenced by put_task(), and run_ready_steps().

◆ tasks_len

unsigned int Step::tasks_len

◆ tasks_cap

unsigned int Step::tasks_cap

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

Referenced by put_task().

◆ finished_tasks

unsigned int Step::finished_tasks

◆ subordinates

struct Step** Step::subordinates

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

Referenced by finish_step(), step_depend_on(), and try_finish_step_early().

◆ subordinates_len

unsigned int Step::subordinates_len

◆ subordinates_cap

unsigned int Step::subordinates_cap

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

Referenced by step_depend_on().

◆ pending_prereq

size_t Step::pending_prereq

Counter for the prerequisites of this step.

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

Referenced by finish_step(), run_ready_steps(), step_depend_on(), and try_finish_step_early().

◆ timeout_task

struct GNUNET_SCHEDULER_Task* Step::timeout_task

Task that will run this step despite any pending prerequisites.

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

◆ is_running

unsigned int Step::is_running

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

Referenced by finish_step(), run_ready_steps(), and try_finish_step_early().

◆ is_finished

unsigned int Step::is_finished

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

Referenced by finish_step(), run_ready_steps(), and try_finish_step_early().

◆ round

unsigned int Step::round

Synchrony round of the task.

Determines the deadline for the task.

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

Referenced by construct_task_graph(), construct_task_graph_gradecast(), create_step(), run_ready_steps(), and step_depend_on().

◆ debug_name

char* Step::debug_name

Human-readable name for the task, used for debugging.

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

Referenced by construct_task_graph(), construct_task_graph_gradecast(), finish_step(), put_task(), run_ready_steps(), step_depend_on(), and try_finish_step_early().

◆ early_finishable

int Step::early_finishable

When we're doing an early finish, how should this step be treated? If GNUNET_YES, the step will be marked as finished without actually running its tasks.

Otherwise, the step will still be run even after an early finish.

Note that a task may never be finished early if it is already running.

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

Referenced by create_step(), and try_finish_step_early().


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