GNUnet 0.21.1
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_SETI_Handleintersection_set
 Set of elements for which will conduction an intersection. More...
 
struct GNUNET_SETI_OperationHandleintersection_op
 Set of elements for which will conduction an intersection. More...
 
struct GNUNET_SETI_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...
 
int product
 The computed scalar product. 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...
 
gcry_mpi_t product
 The computed scalar. 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 81 of file gnunet-service-scalarproduct-ecc_alice.c.

Field Documentation

◆ session_id

struct GNUNET_HashCode AliceServiceSession::session_id

◆ peer

struct GNUNET_PeerIdentity AliceServiceSession::peer

Alice or Bob's peerID.

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

Referenced by client_request_complete_alice(), and handle_alice_client_message().

◆ client

struct GNUNET_SERVICE_Client * AliceServiceSession::client

◆ client_mq

struct GNUNET_MQ_Handle * AliceServiceSession::client_mq

The message queue for the client.

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

Referenced by prepare_client_end_notification(), and transmit_client_response().

◆ cadet_mq

struct GNUNET_MQ_Handle * AliceServiceSession::cadet_mq

The message queue for CADET.

Definition at line 106 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_SETI_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 118 of file gnunet-service-scalarproduct-ecc_alice.c.

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

◆ intersection_op

struct GNUNET_SETI_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 124 of file gnunet-service-scalarproduct-ecc_alice.c.

Referenced by cb_intersection_element_removed(), and destroy_service_session().

◆ intersection_listen

struct GNUNET_SETI_ListenHandle * AliceServiceSession::intersection_listen

Handle to Alice's Intersection operation listening for Bob.

Definition at line 129 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

a(Alice), sorted array by key of length used_element_count.

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

Referenced by check_bobs_cryptodata_message(), compute_scalar_product(), copy_element_cb(), destroy_service_session(), and send_alices_cryptodata_message().

◆ product [1/2]

int AliceServiceSession::product

The computed scalar product.

INT_MAX if the computation failed.

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

Referenced by destroy_service_session(), handle_bobs_cryptodata_message(), handle_bobs_cryptodata_multipart(), and transmit_client_response().

◆ total

uint32_t AliceServiceSession::total

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

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

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

◆ used_element_count

uint32_t AliceServiceSession::used_element_count

◆ client_received_element_count

uint32_t AliceServiceSession::client_received_element_count

Already transferred elements from client to us.

Less or equal than total.

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

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

◆ status

◆ in_destroy

int AliceServiceSession::in_destroy

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

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

Referenced by destroy_service_session().

◆ r

◆ r_prime

◆ s

◆ s_prime

struct GNUNET_CRYPTO_PaillierCiphertext AliceServiceSession::s_prime

Bob's "s'".

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

Referenced by compute_scalar_product(), and handle_bobs_cryptodata_message().

◆ product [2/2]

gcry_mpi_t AliceServiceSession::product

The computed scalar.

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

◆ 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 174 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: