GNUnet  0.11.x
Data Fields
Set Struct Reference

A set that supports a specific operation with other peers. More...

#include </home/handbook/gnunet/src/set/gnunet-service-set.h>

Collaboration diagram for Set:
[legend]

Data Fields

struct Setnext
 Sets are held in a doubly linked list (in sets_head and sets_tail). More...
 
struct Setprev
 Sets are held in a doubly linked list. More...
 
struct ClientStatecs
 Client that owns the set. More...
 
struct SetContentcontent
 Content, possibly shared by multiple sets, and thus reference counted. More...
 
const struct SetVTvt
 Virtual table for this set. More...
 
struct SetStatestate
 Implementation-specific state. More...
 
struct GNUNET_CONTAINER_MultiHashMapIteratoriter
 Current state of iterating elements for the client. More...
 
struct Operationops_head
 Evaluate operations are held in a linked list. More...
 
struct Operationops_tail
 Evaluate operations are held in a linked list. More...
 
struct GenerationRangeexcluded_generations
 List of generations we have to exclude, due to lazy copies. More...
 
unsigned int current_generation
 Current generation, that is, number of previously executed operations and lazy copies on the underlying set content. More...
 
unsigned int excluded_generations_size
 Number of elements in array excluded_generations. More...
 
enum GNUNET_SET_OperationType operation
 Type of operation supported for this set. More...
 
unsigned int iter_generation
 Generation we're currently iteration over. More...
 
uint16_t iteration_id
 Each iter is assigned a unique number, so that the client can distinguish iterations. More...
 

Detailed Description

A set that supports a specific operation with other peers.

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

Field Documentation

◆ next

struct Set* Set::next

Sets are held in a doubly linked list (in sets_head and sets_tail).

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

◆ prev

struct Set* Set::prev

Sets are held in a doubly linked list.

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

◆ cs

struct ClientState* Set::cs

◆ content

struct SetContent* Set::content

◆ vt

const struct SetVT* Set::vt

Virtual table for this set.

Determined by the operation type of this set.

Used only for Add/remove of elements and when receiving an incoming operation from a remote peer.

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

Referenced by _GSS_operation_destroy2().

◆ state

struct SetState* Set::state

Implementation-specific state.

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

Referenced by handle_client_copy_lazy_connect(), intersection_accept(), intersection_evaluate(), union_accept(), and union_evaluate().

◆ iter

Current state of iterating elements for the client.

NULL if we are not currently iterating.

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

◆ ops_head

struct Operation* Set::ops_head

Evaluate operations are held in a linked list.

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

Referenced by handle_client_cancel().

◆ ops_tail

struct Operation* Set::ops_tail

Evaluate operations are held in a linked list.

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

◆ excluded_generations

struct GenerationRange* Set::excluded_generations

List of generations we have to exclude, due to lazy copies.

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

Referenced by _GSS_is_element_of_operation(), and handle_client_copy_lazy_connect().

◆ current_generation

unsigned int Set::current_generation

Current generation, that is, number of previously executed operations and lazy copies on the underlying set content.

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

Referenced by handle_client_copy_lazy_connect().

◆ excluded_generations_size

unsigned int Set::excluded_generations_size

Number of elements in array excluded_generations.

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

Referenced by _GSS_is_element_of_operation(), and handle_client_copy_lazy_connect().

◆ operation

enum GNUNET_SET_OperationType Set::operation

◆ iter_generation

unsigned int Set::iter_generation

Generation we're currently iteration over.

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

◆ iteration_id

uint16_t Set::iteration_id

Each iter is assigned a unique number, so that the client can distinguish iterations.

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


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