State of an evaluate operation with another peer. More...
Data Fields | |
struct GNUNET_CONTAINER_BloomFilter * | remote_bf |
The bf we currently receive. More... | |
struct GNUNET_CONTAINER_BloomFilter * | local_bf |
BF of the set's element. More... | |
struct GNUNET_CONTAINER_MultiHashMap * | my_elements |
Remaining elements in the intersection operation. More... | |
struct GNUNET_CONTAINER_MultiHashMapIterator * | full_result_iter |
Iterator for sending the final set of my_elements to the client. More... | |
struct OperationState * | next |
Evaluate operations are held in a linked list. More... | |
struct OperationState * | prev |
Evaluate operations are held in a linked list. More... | |
char * | bf_data |
For multipart BF transmissions, we have to store the bloomfilter-data until we fully received it. More... | |
struct GNUNET_HashCode | my_xor |
XOR of the keys of all of the elements (remaining) in my set. More... | |
struct GNUNET_HashCode | other_xor |
XOR of the keys of all of the elements (remaining) in the other peer's set. More... | |
uint32_t | bf_data_offset |
How many bytes of bf_data are valid? More... | |
uint32_t | my_element_count |
Current element count contained within my_elements. More... | |
uint32_t | bf_data_size |
size of the bloomfilter in bf_data. More... | |
uint32_t | bf_bits_per_element |
size of the bloomfilter More... | |
uint32_t | salt |
Salt currently used for BF construction (by us or the other peer, depending on where we are in the code). More... | |
enum IntersectionOperationPhase | phase |
Current state of the operation. More... | |
unsigned int | generation_created |
Generation in which the operation handle was created. More... | |
int | client_done_sent |
Did we send the client that we are done? More... | |
int | channel_death_expected |
Set whenever we reach the state where the death of the channel is perfectly find and should NOT result in the operation being cancelled. More... | |
struct StrataEstimator * | se |
Copy of the set's strata estimator at the time of creation of this operation. More... | |
struct InvertibleBloomFilter * | remote_ibf |
The IBF we currently receive. More... | |
struct InvertibleBloomFilter * | local_ibf |
The IBF with the local set's element. More... | |
struct GNUNET_CONTAINER_MultiHashMap32 * | key_to_element |
Maps unsalted IBF-Keys to elements. More... | |
enum UnionOperationPhase | phase |
Current state of the operation. More... | |
unsigned int | ibf_buckets_received |
Number of ibf buckets already received into the remote_ibf. More... | |
struct GNUNET_CONTAINER_MultiHashMap * | demanded_hashes |
Hashes for elements that we have demanded from the other peer. More... | |
uint32_t | salt_send |
Salt that we're using for sending IBFs. More... | |
uint32_t | salt_receive |
Salt for the IBF we've received and that we're currently decoding. More... | |
uint32_t | received_fresh |
Number of elements we received from the other peer that were not in the local set yet. More... | |
uint32_t | received_total |
Total number of elements received from the other peer. More... | |
uint64_t | initial_size |
Initial size of our set, just before the operation started. More... | |
State of an evaluate operation with another peer.
Definition at line 82 of file gnunet-service-set_intersection.c.
struct GNUNET_CONTAINER_BloomFilter* OperationState::remote_bf |
The bf we currently receive.
Definition at line 87 of file gnunet-service-set_intersection.c.
struct GNUNET_CONTAINER_BloomFilter* OperationState::local_bf |
BF of the set's element.
Definition at line 92 of file gnunet-service-set_intersection.c.
struct GNUNET_CONTAINER_MultiHashMap* OperationState::my_elements |
Remaining elements in the intersection operation.
Maps element-id-hashes to 'elements in our set'.
Definition at line 98 of file gnunet-service-set_intersection.c.
struct GNUNET_CONTAINER_MultiHashMapIterator* OperationState::full_result_iter |
Iterator for sending the final set of my_elements to the client.
Definition at line 103 of file gnunet-service-set_intersection.c.
struct OperationState* OperationState::next |
Evaluate operations are held in a linked list.
Definition at line 108 of file gnunet-service-set_intersection.c.
struct OperationState* OperationState::prev |
Evaluate operations are held in a linked list.
Definition at line 113 of file gnunet-service-set_intersection.c.
char* OperationState::bf_data |
For multipart BF transmissions, we have to store the bloomfilter-data until we fully received it.
Definition at line 119 of file gnunet-service-set_intersection.c.
struct GNUNET_HashCode OperationState::my_xor |
XOR of the keys of all of the elements (remaining) in my set.
Always updated when elements are added or removed to my_elements.
Definition at line 126 of file gnunet-service-set_intersection.c.
struct GNUNET_HashCode OperationState::other_xor |
XOR of the keys of all of the elements (remaining) in the other peer's set.
Updated when we receive the other peer's Bloom filter.
Definition at line 133 of file gnunet-service-set_intersection.c.
uint32_t OperationState::bf_data_offset |
How many bytes of bf_data are valid?
Definition at line 138 of file gnunet-service-set_intersection.c.
uint32_t OperationState::my_element_count |
Current element count contained within my_elements.
(May differ briefly during initialization.)
Definition at line 144 of file gnunet-service-set_intersection.c.
uint32_t OperationState::bf_data_size |
size of the bloomfilter in bf_data.
Definition at line 149 of file gnunet-service-set_intersection.c.
uint32_t OperationState::bf_bits_per_element |
size of the bloomfilter
Definition at line 154 of file gnunet-service-set_intersection.c.
uint32_t OperationState::salt |
Salt currently used for BF construction (by us or the other peer, depending on where we are in the code).
Definition at line 160 of file gnunet-service-set_intersection.c.
enum IntersectionOperationPhase OperationState::phase |
Current state of the operation.
Definition at line 165 of file gnunet-service-set_intersection.c.
unsigned int OperationState::generation_created |
Generation in which the operation handle was created.
Definition at line 171 of file gnunet-service-set_intersection.c.
int OperationState::client_done_sent |
Did we send the client that we are done?
Definition at line 176 of file gnunet-service-set_intersection.c.
int OperationState::channel_death_expected |
Set whenever we reach the state where the death of the channel is perfectly find and should NOT result in the operation being cancelled.
Definition at line 183 of file gnunet-service-set_intersection.c.
struct StrataEstimator* OperationState::se |
Copy of the set's strata estimator at the time of creation of this operation.
Definition at line 148 of file gnunet-service-set_union.c.
struct InvertibleBloomFilter* OperationState::remote_ibf |
The IBF we currently receive.
Definition at line 153 of file gnunet-service-set_union.c.
struct InvertibleBloomFilter* OperationState::local_ibf |
The IBF with the local set's element.
Definition at line 158 of file gnunet-service-set_union.c.
struct GNUNET_CONTAINER_MultiHashMap32* OperationState::key_to_element |
Maps unsalted IBF-Keys to elements.
Used as a multihashmap, the keys being the lower 32bit of the IBF-Key. Colliding IBF-Keys are linked.
Definition at line 165 of file gnunet-service-set_union.c.
enum UnionOperationPhase OperationState::phase |
Current state of the operation.
Definition at line 170 of file gnunet-service-set_union.c.
unsigned int OperationState::ibf_buckets_received |
Number of ibf buckets already received into the remote_ibf.
Definition at line 180 of file gnunet-service-set_union.c.
struct GNUNET_CONTAINER_MultiHashMap* OperationState::demanded_hashes |
Hashes for elements that we have demanded from the other peer.
Definition at line 185 of file gnunet-service-set_union.c.
uint32_t OperationState::salt_send |
Salt that we're using for sending IBFs.
Definition at line 190 of file gnunet-service-set_union.c.
uint32_t OperationState::salt_receive |
Salt for the IBF we've received and that we're currently decoding.
Definition at line 195 of file gnunet-service-set_union.c.
uint32_t OperationState::received_fresh |
Number of elements we received from the other peer that were not in the local set yet.
Definition at line 201 of file gnunet-service-set_union.c.
uint32_t OperationState::received_total |
Total number of elements received from the other peer.
Definition at line 206 of file gnunet-service-set_union.c.
uint64_t OperationState::initial_size |
Initial size of our set, just before the operation started.
Definition at line 212 of file gnunet-service-set_union.c.