GNUnet  0.11.x
Data Fields
AliceServiceSession Struct Reference

A scalarproduct session which tracks a request form the client to our final response. More...

Collaboration diagram for AliceServiceSession:
[legend]

Data Fields

struct GNUNET_HashCode session_id
 (hopefully) unique transaction ID More...
 
struct GNUNET_PeerIdentity peer
 Alice or Bob's peerID. More...
 
struct GNUNET_SERVICE_Clientclient
 The client this request is related to. More...
 
struct GNUNET_MQ_Handleclient_mq
 The message queue for the client. More...
 
struct GNUNET_MQ_Handlecadet_mq
 The message queue for CADET. More...
 
struct GNUNET_CONTAINER_MultiHashMapintersected_elements
 all non-0-value'd elements transmitted to us. More...
 
struct GNUNET_SET_Handleintersection_set
 Set of elements for which will conduction an intersection. More...
 
struct GNUNET_SET_OperationHandleintersection_op
 Set of elements for which will conduction an intersection. More...
 
struct GNUNET_SET_ListenHandleintersection_listen
 Handle to Alice's Intersection operation listening for Bob. More...
 
struct GNUNET_CADET_Channelchannel
 channel-handle associated with our cadet handle More...
 
struct MpiElementsorted_elements
 a(Alice), sorted array by key of length used_element_count. More...
 
gcry_mpi_t product
 The computed scalar. More...
 
uint32_t total
 How many elements we were supplied with from the client (total count before intersection). More...
 
uint32_t used_element_count
 How many elements actually are used for the scalar product. More...
 
uint32_t client_received_element_count
 Already transferred elements from client to us. More...
 
enum GNUNET_SCALARPRODUCT_ResponseStatus status
 State of this session. More...
 
int in_destroy
 Flag to prevent recursive calls to destroy_service_session() from doing harm. More...
 
struct GNUNET_CRYPTO_PaillierCiphertextr
 Bob's permutation p of R. More...
 
struct GNUNET_CRYPTO_PaillierCiphertextr_prime
 Bob's permutation q of R. More...
 
struct GNUNET_CRYPTO_PaillierCiphertext s
 Bob's "s". More...
 
struct GNUNET_CRYPTO_PaillierCiphertext s_prime
 Bob's "s'". More...
 
uint32_t cadet_received_element_count
 Already transferred elements from Bob to us. More...
 

Detailed Description

A scalarproduct session which tracks a request form the client to our final response.

Definition at line 80 of file gnunet-service-scalarproduct-ecc_alice.c.

Field Documentation

◆ session_id

struct GNUNET_HashCode AliceServiceSession::session_id

◆ peer

struct GNUNET_PeerIdentity AliceServiceSession::peer

◆ client

struct GNUNET_SERVICE_Client * AliceServiceSession::client

◆ client_mq

struct GNUNET_MQ_Handle * AliceServiceSession::client_mq

◆ cadet_mq

struct GNUNET_MQ_Handle * AliceServiceSession::cadet_mq

The message queue for CADET.

Definition at line 105 of file gnunet-service-scalarproduct-ecc_alice.c.

Referenced by client_request_complete_alice(), and send_alices_cryptodata_message().

◆ intersected_elements

struct GNUNET_CONTAINER_MultiHashMap * AliceServiceSession::intersected_elements

◆ intersection_set

struct GNUNET_SET_Handle * AliceServiceSession::intersection_set

Set of elements for which will conduction an intersection.

the resulting elements are then used for computing the scalar product.

Definition at line 117 of file gnunet-service-scalarproduct-ecc_alice.c.

Referenced by cb_intersection_element_removed(), cb_intersection_request_alice(), destroy_service_session(), handle_alice_client_message(), and handle_alice_client_message_multipart().

◆ intersection_op

struct GNUNET_SET_OperationHandle * AliceServiceSession::intersection_op

Set of elements for which will conduction an intersection.

the resulting elements are then used for computing the scalar product.

Definition at line 123 of file gnunet-service-scalarproduct-ecc_alice.c.

Referenced by cb_intersection_element_removed(), cb_intersection_request_alice(), and destroy_service_session().

◆ intersection_listen

struct GNUNET_SET_ListenHandle * AliceServiceSession::intersection_listen

Handle to Alice's Intersection operation listening for Bob.

Definition at line 128 of file gnunet-service-scalarproduct-ecc_alice.c.

Referenced by cb_intersection_element_removed(), client_request_complete_alice(), and destroy_service_session().

◆ channel

struct GNUNET_CADET_Channel * AliceServiceSession::channel

◆ sorted_elements

struct MpiElement * AliceServiceSession::sorted_elements

◆ product

gcry_mpi_t AliceServiceSession::product

◆ total

uint32_t AliceServiceSession::total

How many elements we were supplied with from the client (total count before intersection).

Definition at line 149 of file gnunet-service-scalarproduct-ecc_alice.c.

Referenced by check_alice_client_message_multipart(), check_bobs_cryptodata_message(), handle_alice_client_message(), handle_alice_client_message_multipart(), and handle_bobs_cryptodata_message().

◆ used_element_count

uint32_t AliceServiceSession::used_element_count

◆ client_received_element_count

uint32_t AliceServiceSession::client_received_element_count

◆ status

enum GNUNET_SCALARPRODUCT_ResponseStatus AliceServiceSession::status

◆ in_destroy

int AliceServiceSession::in_destroy

Flag to prevent recursive calls to destroy_service_session() from doing harm.

Definition at line 176 of file gnunet-service-scalarproduct-ecc_alice.c.

Referenced by destroy_service_session().

◆ r

struct GNUNET_CRYPTO_PaillierCiphertext* AliceServiceSession::r

◆ r_prime

struct GNUNET_CRYPTO_PaillierCiphertext* AliceServiceSession::r_prime

◆ s

struct GNUNET_CRYPTO_PaillierCiphertext AliceServiceSession::s

◆ s_prime

struct GNUNET_CRYPTO_PaillierCiphertext AliceServiceSession::s_prime

Bob's "s'".

Definition at line 143 of file gnunet-service-scalarproduct_alice.c.

Referenced by compute_scalar_product(), and handle_bobs_cryptodata_message().

◆ cadet_received_element_count

uint32_t AliceServiceSession::cadet_received_element_count

Already transferred elements from Bob to us.

Less or equal than total.

Definition at line 173 of file gnunet-service-scalarproduct_alice.c.

Referenced by check_bobs_cryptodata_multipart(), handle_bobs_cryptodata_message(), and handle_bobs_cryptodata_multipart().


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