diff options
author | Christian Grothoff <christian@grothoff.org> | 2012-09-02 14:06:50 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2012-09-02 14:06:50 +0000 |
commit | eb5904a853b5ddb836d2276783ccf1eb16a63b78 (patch) | |
tree | b8106b42b873a82df54aabbcbb5865196984fd38 /src/fs/fs_search.c | |
parent | 8c7b3b9d1306ea3c78a577a42d7ebbcecfbeb9b3 (diff) | |
download | gnunet-eb5904a853b5ddb836d2276783ccf1eb16a63b78.tar.gz gnunet-eb5904a853b5ddb836d2276783ccf1eb16a63b78.zip |
commenting code
Diffstat (limited to 'src/fs/fs_search.c')
-rw-r--r-- | src/fs/fs_search.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/fs/fs_search.c b/src/fs/fs_search.c index d3ceead77..bef623287 100644 --- a/src/fs/fs_search.c +++ b/src/fs/fs_search.c | |||
@@ -1014,24 +1014,26 @@ transmit_search_request (void *cls, size_t size, void *buf) | |||
1014 | msize = sizeof (struct SearchMessage); | 1014 | msize = sizeof (struct SearchMessage); |
1015 | GNUNET_assert (size >= msize); | 1015 | GNUNET_assert (size >= msize); |
1016 | mbc.keyword_offset = sc->keyword_offset; | 1016 | mbc.keyword_offset = sc->keyword_offset; |
1017 | /* calculate total number of known results (in put_cnt => sqms) */ | ||
1017 | mbc.put_cnt = 0; | 1018 | mbc.put_cnt = 0; |
1018 | GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, | 1019 | GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, |
1019 | &find_result_set, &mbc); | 1020 | &find_result_set, &mbc); |
1020 | sqms = mbc.put_cnt; | 1021 | sqms = mbc.put_cnt; |
1022 | /* calculate how many results we can send in this message */ | ||
1021 | mbc.put_cnt = (size - msize) / sizeof (struct GNUNET_HashCode); | 1023 | mbc.put_cnt = (size - msize) / sizeof (struct GNUNET_HashCode); |
1022 | mbc.put_cnt = GNUNET_MIN (mbc.put_cnt, sqms - mbc.skip_cnt); | 1024 | mbc.put_cnt = GNUNET_MIN (mbc.put_cnt, sqms - mbc.skip_cnt); |
1023 | if (sc->search_request_map_offset < sqms) | 1025 | if (sc->search_request_map_offset < sqms) |
1024 | GNUNET_assert (mbc.put_cnt > 0); | 1026 | GNUNET_assert (mbc.put_cnt > 0); |
1025 | 1027 | ||
1028 | /* now build message */ | ||
1029 | msize += sizeof (struct GNUNET_HashCode) * mbc.put_cnt; | ||
1026 | sm->header.size = htons (msize); | 1030 | sm->header.size = htons (msize); |
1027 | sm->type = htonl (GNUNET_BLOCK_TYPE_ANY); | 1031 | sm->type = htonl (GNUNET_BLOCK_TYPE_ANY); |
1028 | sm->anonymity_level = htonl (sc->anonymity); | 1032 | sm->anonymity_level = htonl (sc->anonymity); |
1029 | memset (&sm->target, 0, sizeof (struct GNUNET_HashCode)); | 1033 | memset (&sm->target, 0, sizeof (struct GNUNET_HashCode)); |
1030 | sm->query = sc->requests[sc->keyword_offset].query; | 1034 | sm->query = sc->requests[sc->keyword_offset].query; |
1031 | msize += sizeof (struct GNUNET_HashCode) * mbc.put_cnt; | ||
1032 | GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, | 1035 | GNUNET_CONTAINER_multihashmap_iterate (sc->master_result_map, |
1033 | &build_result_set, &mbc); | 1036 | &build_result_set, &mbc); |
1034 | sm->header.size = htons (msize); | ||
1035 | GNUNET_assert (sqms >= sc->search_request_map_offset); | 1037 | GNUNET_assert (sqms >= sc->search_request_map_offset); |
1036 | if (sqms != sc->search_request_map_offset) | 1038 | if (sqms != sc->search_request_map_offset) |
1037 | { | 1039 | { |