aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/setu/gnunet-service-setu.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/src/setu/gnunet-service-setu.c b/src/setu/gnunet-service-setu.c
index a65db418a..339d347f8 100644
--- a/src/setu/gnunet-service-setu.c
+++ b/src/setu/gnunet-service-setu.c
@@ -1119,15 +1119,16 @@ estimate_best_mode_of_operation (uint64_t avg_element_size,
1119 ibf_bucket_count = IBF_MIN_SIZE; 1119 ibf_bucket_count = IBF_MIN_SIZE;
1120 } 1120 }
1121 uint64_t ibf_message_count = ceil ( ((float) ibf_bucket_count) 1121 uint64_t ibf_message_count = ceil ( ((float) ibf_bucket_count)
1122 / MAX_BUCKETS_PER_MESSAGE); 1122 / ((float) MAX_BUCKETS_PER_MESSAGE));
1123 1123
1124 uint64_t estimated_counter_size = ceil ( 1124 uint64_t estimated_counter_size = ceil (
1125 MIN (2 * log2l ((float) local_set_size / ibf_bucket_count), log2l ( 1125 MIN (2 * log2l (((float) local_set_size)
1126 local_set_size))); 1126 / ((float) ibf_bucket_count)),
1127 log2l (local_set_size)));
1127 1128
1128 long double counter_bytes = (float) estimated_counter_size / 8; 1129 long double counter_bytes = (float) estimated_counter_size / 8;
1129 1130
1130 uint64_t ibf_bytes = ceil ((sizeof(struct IBFMessage) * ibf_message_count) 1131 uint64_t ibf_bytes = ceil ((sizeof (struct IBFMessage) * ibf_message_count)
1131 * 1.2 \ 1132 * 1.2 \
1132 + (ibf_bucket_count * sizeof(struct IBF_Key)) * 1.2 \ 1133 + (ibf_bucket_count * sizeof(struct IBF_Key)) * 1.2 \
1133 + (ibf_bucket_count * sizeof(struct IBF_KeyHash)) 1134 + (ibf_bucket_count * sizeof(struct IBF_KeyHash))
@@ -1135,18 +1136,18 @@ estimate_best_mode_of_operation (uint64_t avg_element_size,
1135 + (ibf_bucket_count * counter_bytes) * 1.2); 1136 + (ibf_bucket_count * counter_bytes) * 1.2);
1136 1137
1137 /* Estimate full byte count for differential sync */ 1138 /* Estimate full byte count for differential sync */
1138 uint64_t element_size = (avg_element_size + sizeof(struct 1139 uint64_t element_size = (avg_element_size
1139 GNUNET_SETU_ElementMessage)) \ 1140 + sizeof (struct GNUNET_SETU_ElementMessage)) \
1140 * estimated_total_diff; 1141 * estimated_total_diff;
1141 uint64_t done_size = sizeof_done_header; 1142 uint64_t done_size = sizeof_done_header;
1142 uint64_t inquery_size = (sizeof(struct IBF_Key) + sizeof(struct 1143 uint64_t inquery_size = (sizeof (struct IBF_Key)
1143 InquiryMessage)) 1144 + sizeof (struct InquiryMessage))
1144 * estimated_total_diff; 1145 * estimated_total_diff;
1145 uint64_t demand_size = 1146 uint64_t demand_size =
1146 (sizeof(struct GNUNET_HashCode) + sizeof(struct GNUNET_MessageHeader)) 1147 (sizeof(struct GNUNET_HashCode) + sizeof(struct GNUNET_MessageHeader))
1147 * estimated_total_diff; 1148 * estimated_total_diff;
1148 uint64_t offer_size = (sizeof(struct GNUNET_HashCode) + sizeof(struct 1149 uint64_t offer_size = (sizeof (struct GNUNET_HashCode)
1149 GNUNET_MessageHeader)) 1150 + sizeof (struct GNUNET_MessageHeader))
1150 * estimated_total_diff; 1151 * estimated_total_diff;
1151 1152
1152 uint64_t total_bytes_diff = (element_size + done_size + inquery_size 1153 uint64_t total_bytes_diff = (element_size + done_size + inquery_size
@@ -1183,12 +1184,13 @@ estimate_best_mode_of_operation (uint64_t avg_element_size,
1183 * @param allowed_phases 1184 * @param allowed_phases
1184 * @param size_phases 1185 * @param size_phases
1185 * @param op 1186 * @param op
1186 * @return GNUNET_YES if message permitted in phase and GNUNET_NO if not permitted in given 1187 * @return #GNUNET_YES if message permitted in phase and #GNUNET_NO if not permitted in given
1187 * phase 1188 * phase
1188 */ 1189 */
1189static int 1190static enum GNUNET_GenericReturnValue
1190check_valid_phase (const uint8_t allowed_phases[], size_t size_phases, struct 1191check_valid_phase (const uint8_t allowed_phases[],
1191 Operation *op) 1192 size_t size_phases,
1193 struct Operation *op)
1192{ 1194{
1193 /** 1195 /**
1194 * Iterate over allowed phases 1196 * Iterate over allowed phases