GNUnet 0.21.1
ElementEntry Struct Reference

Information about an element element in the set. More...

#include </home/buildbot/bb-worker/worker/gnunet_firefly/build/src/contrib/service/set/gnunet-service-set.h>

Collaboration diagram for ElementEntry:
[legend]

Data Fields

struct GNUNET_SET_Element element
 The actual element. More...
 
struct GNUNET_HashCode element_hash
 Hash of the element. More...
 
struct MutationEventmutations
 If mutations is not NULL, it contains a list of mutations, ordered by increasing generation. More...
 
unsigned int mutations_size
 Number of elements in the array mutations. More...
 
int remote
 GNUNET_YES if the element is a remote element, and does not belong to the operation's set. More...
 
struct GNUNET_SETI_Element element
 The actual element. More...
 
unsigned int generation_added
 Generation in which the element was added. More...
 
struct GNUNET_SETU_Element element
 The actual element. More...
 
unsigned int generation
 First generation that includes this element. More...
 

Detailed Description

Information about an element element in the set.

All elements are stored in a hash-table from their hash-code to their struct Element, so that the remove and add operations are reasonably fast.

Definition at line 238 of file gnunet-service-set.h.

Field Documentation

◆ element [1/3]

◆ element_hash

◆ mutations

struct MutationEvent* ElementEntry::mutations

If mutations is not NULL, it contains a list of mutations, ordered by increasing generation.

The list is terminated by a sentinel event with generation set to 0.

If mutations is NULL, then this element exists in all generations of the respective set content this element belongs to.

Definition at line 261 of file gnunet-service-set.h.

Referenced by destroy_elements_iterator(), execute_add(), execute_remove(), and is_element_of_generation().

◆ mutations_size

unsigned int ElementEntry::mutations_size

Number of elements in the array mutations.

Definition at line 266 of file gnunet-service-set.h.

Referenced by execute_add(), execute_remove(), and is_element_of_generation().

◆ remote

int ElementEntry::remote

GNUNET_YES if the element is a remote element, and does not belong to the operation's set.

Definition at line 272 of file gnunet-service-set.h.

Referenced by destroy_key_to_element_iter(), execute_add(), handle_client_set_add(), handle_union_p2p_elements(), handle_union_p2p_full_element(), and init_key_to_element_iterator().

◆ element [2/3]

struct GNUNET_SETI_Element ElementEntry::element

The actual element.

The data for the element should be allocated at the end of this struct.

Definition at line 115 of file gnunet-service-seti.c.

◆ generation_added

unsigned int ElementEntry::generation_added

Generation in which the element was added.

Definition at line 126 of file gnunet-service-seti.c.

Referenced by _GSS_is_element_of_operation().

◆ element [3/3]

struct GNUNET_SETU_Element ElementEntry::element

The actual element.

The data for the element should be allocated at the end of this struct.

Definition at line 213 of file gnunet-service-setu.c.

◆ generation

unsigned int ElementEntry::generation

First generation that includes this element.

Definition at line 224 of file gnunet-service-setu.c.

Referenced by _GSS_is_element_of_operation(), and handle_client_set_add().


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