aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2015-10-25 22:39:09 +0000
committerChristian Grothoff <christian@grothoff.org>2015-10-25 22:39:09 +0000
commita6d5893f9680dea995b1172f601adc27b2039b75 (patch)
treee8bb63eb153c9b9fe2dc2e24bbbcf398376de6c0
parentfe1d7543e21cbfae18448c7d15c49ccb2bf8e880 (diff)
downloadgnunet-a6d5893f9680dea995b1172f601adc27b2039b75.tar.gz
gnunet-a6d5893f9680dea995b1172f601adc27b2039b75.zip
-fix indentation, fix bug that caused us to try to merge requests twice
-rw-r--r--src/fs/gnunet-service-fs.c14
-rw-r--r--src/fs/gnunet-service-fs_cp.c6
-rw-r--r--src/fs/gnunet-service-fs_pe.c54
-rw-r--r--src/fs/gnunet-service-fs_pe.h3
4 files changed, 51 insertions, 26 deletions
diff --git a/src/fs/gnunet-service-fs.c b/src/fs/gnunet-service-fs.c
index 11cbe5a70..a4300a4ce 100644
--- a/src/fs/gnunet-service-fs.c
+++ b/src/fs/gnunet-service-fs.c
@@ -575,7 +575,7 @@ shutdown_task (void *cls,
575 * peer connects, giving us a chance to decide about submitting 575 * peer connects, giving us a chance to decide about submitting
576 * the existing request to the new peer. 576 * the existing request to the new peer.
577 * 577 *
578 * @param cls the 'struct GSF_ConnectedPeer' of the new peer 578 * @param cls the `struct GSF_ConnectedPeer` of the new peer
579 * @param key query for the request 579 * @param key query for the request
580 * @param pr handle to the pending request 580 * @param pr handle to the pending request
581 * @return #GNUNET_YES to continue to iterate 581 * @return #GNUNET_YES to continue to iterate
@@ -589,10 +589,12 @@ consider_peer_for_forwarding (void *cls,
589 struct GNUNET_PeerIdentity pid; 589 struct GNUNET_PeerIdentity pid;
590 590
591 GSF_connected_peer_get_identity_ (cp, &pid); 591 GSF_connected_peer_get_identity_ (cp, &pid);
592 if (GNUNET_YES != GSF_pending_request_test_target_ (pr, &pid)) 592 if (GNUNET_YES !=
593 GSF_pending_request_test_target_ (pr, &pid))
593 { 594 {
594 GNUNET_STATISTICS_update (GSF_stats, 595 GNUNET_STATISTICS_update (GSF_stats,
595 gettext_noop ("# Loopback routes suppressed"), 1, 596 gettext_noop ("# Loopback routes suppressed"),
597 1,
596 GNUNET_NO); 598 GNUNET_NO);
597 return GNUNET_YES; 599 return GNUNET_YES;
598 } 600 }
@@ -608,11 +610,13 @@ consider_peer_for_forwarding (void *cls,
608 * @param cp handle to the newly created connected peer record 610 * @param cp handle to the newly created connected peer record
609 */ 611 */
610static void 612static void
611connected_peer_cb (void *cls, struct GSF_ConnectedPeer *cp) 613connected_peer_cb (void *cls,
614 struct GSF_ConnectedPeer *cp)
612{ 615{
613 if (NULL == cp) 616 if (NULL == cp)
614 return; 617 return;
615 GSF_iterate_pending_requests_ (&consider_peer_for_forwarding, cp); 618 GSF_iterate_pending_requests_ (&consider_peer_for_forwarding,
619 cp);
616} 620}
617 621
618 622
diff --git a/src/fs/gnunet-service-fs_cp.c b/src/fs/gnunet-service-fs_cp.c
index 7e5ffb45e..67338b6ec 100644
--- a/src/fs/gnunet-service-fs_cp.c
+++ b/src/fs/gnunet-service-fs_cp.c
@@ -658,8 +658,10 @@ GSF_peer_connect_handler_ (const struct GNUNET_PeerIdentity *peer,
658 cp->creation_cb = creation_cb; 658 cp->creation_cb = creation_cb;
659 cp->creation_cb_cls = creation_cb_cls; 659 cp->creation_cb_cls = creation_cb_cls;
660 cp->respect_iterate_req = 660 cp->respect_iterate_req =
661 GNUNET_PEERSTORE_iterate (peerstore, "fs", peer, "respect", 661 GNUNET_PEERSTORE_iterate (peerstore, "fs",
662 GNUNET_TIME_UNIT_FOREVER_REL, &peer_respect_cb, 662 peer, "respect",
663 GNUNET_TIME_UNIT_FOREVER_REL,
664 &peer_respect_cb,
663 cp); 665 cp);
664} 666}
665 667
diff --git a/src/fs/gnunet-service-fs_pe.c b/src/fs/gnunet-service-fs_pe.c
index 68c98ae8b..a9cfefcaa 100644
--- a/src/fs/gnunet-service-fs_pe.c
+++ b/src/fs/gnunet-service-fs_pe.c
@@ -529,7 +529,9 @@ struct MergeContext
529 * #GNUNET_NO if not (merge success) 529 * #GNUNET_NO if not (merge success)
530 */ 530 */
531static int 531static int
532merge_pr (void *cls, const struct GNUNET_HashCode * query, void *element) 532merge_pr (void *cls,
533 const struct GNUNET_HashCode *query,
534 void *element)
533{ 535{
534 struct MergeContext *mpr = cls; 536 struct MergeContext *mpr = cls;
535 struct GSF_RequestPlan *rp = element; 537 struct GSF_RequestPlan *rp = element;
@@ -538,18 +540,26 @@ merge_pr (void *cls, const struct GNUNET_HashCode * query, void *element)
538 struct GSF_PendingRequest *latest; 540 struct GSF_PendingRequest *latest;
539 541
540 if (GNUNET_OK != 542 if (GNUNET_OK !=
541 GSF_pending_request_is_compatible_ (mpr->pr, rp->pe_head->pr)) 543 GSF_pending_request_is_compatible_ (mpr->pr,
544 rp->pe_head->pr))
542 return GNUNET_YES; 545 return GNUNET_YES;
543 /* merge new request with existing request plan */ 546 /* merge new request with existing request plan */
544 bi = GNUNET_new (struct GSF_PendingRequestPlanBijection); 547 bi = GNUNET_new (struct GSF_PendingRequestPlanBijection);
545 bi->rp = rp; 548 bi->rp = rp;
546 bi->pr = mpr->pr; 549 bi->pr = mpr->pr;
547 prd = GSF_pending_request_get_data_ (mpr->pr); 550 prd = GSF_pending_request_get_data_ (mpr->pr);
548 GNUNET_CONTAINER_MDLL_insert (PR, prd->pr_head, prd->pr_tail, bi); 551 GNUNET_CONTAINER_MDLL_insert (PR,
549 GNUNET_CONTAINER_MDLL_insert (PE, rp->pe_head, rp->pe_tail, bi); 552 prd->pr_head,
553 prd->pr_tail,
554 bi);
555 GNUNET_CONTAINER_MDLL_insert (PE,
556 rp->pe_head,
557 rp->pe_tail,
558 bi);
550 mpr->merged = GNUNET_YES; 559 mpr->merged = GNUNET_YES;
551#if INSANE_STATISTICS 560#if INSANE_STATISTICS
552 GNUNET_STATISTICS_update (GSF_stats, gettext_noop ("# requests merged"), 1, 561 GNUNET_STATISTICS_update (GSF_stats,
562 gettext_noop ("# requests merged"), 1,
553 GNUNET_NO); 563 GNUNET_NO);
554#endif 564#endif
555 latest = get_latest (rp); 565 latest = get_latest (rp);
@@ -557,7 +567,8 @@ merge_pr (void *cls, const struct GNUNET_HashCode * query, void *element)
557 prd->ttl.abs_value_us) 567 prd->ttl.abs_value_us)
558 { 568 {
559#if INSANE_STATISTICS 569#if INSANE_STATISTICS
560 GNUNET_STATISTICS_update (GSF_stats, gettext_noop ("# requests refreshed"), 570 GNUNET_STATISTICS_update (GSF_stats,
571 gettext_noop ("# requests refreshed"),
561 1, GNUNET_NO); 572 1, GNUNET_NO);
562#endif 573#endif
563 rp->transmission_counter = 0; /* reset */ 574 rp->transmission_counter = 0; /* reset */
@@ -597,38 +608,45 @@ GSF_plan_add_ (struct GSF_ConnectedPeer *cp,
597 pp->cp = cp; 608 pp->cp = cp;
598 GNUNET_assert (GNUNET_OK == 609 GNUNET_assert (GNUNET_OK ==
599 GNUNET_CONTAINER_multipeermap_put (plans, 610 GNUNET_CONTAINER_multipeermap_put (plans,
600 id, pp, 611 id,
612 pp,
601 GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY)); 613 GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY));
602 } 614 }
603 mpc.merged = GNUNET_NO; 615 mpc.merged = GNUNET_NO;
604 mpc.pr = pr; 616 mpc.pr = pr;
605 GNUNET_CONTAINER_multihashmap_get_multiple (pp->plan_map, 617 GNUNET_CONTAINER_multihashmap_get_multiple (pp->plan_map,
606 &GSF_pending_request_get_data_ 618 &GSF_pending_request_get_data_
607 (pr)->query, &merge_pr, &mpc); 619 (pr)->query,
608 if (GNUNET_NO != mpc.merged) 620 &merge_pr, &mpc);
609 return;
610 GNUNET_CONTAINER_multihashmap_get_multiple (pp->plan_map,
611 &GSF_pending_request_get_data_
612 (pr)->query, &merge_pr, &mpc);
613 if (GNUNET_NO != mpc.merged) 621 if (GNUNET_NO != mpc.merged)
614 return; 622 return;
615 plan_count++; 623 plan_count++;
616 GNUNET_STATISTICS_update (GSF_stats, gettext_noop ("# query plan entries"), 1, 624 GNUNET_STATISTICS_update (GSF_stats,
625 gettext_noop ("# query plan entries"),
626 1,
617 GNUNET_NO); 627 GNUNET_NO);
618 prd = GSF_pending_request_get_data_ (pr); 628 prd = GSF_pending_request_get_data_ (pr);
619 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 629 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
620 "Planning transmission of query `%s' to peer `%s'\n", 630 "Planning transmission of query `%s' to peer `%s'\n",
621 GNUNET_h2s (&prd->query), GNUNET_i2s (id)); 631 GNUNET_h2s (&prd->query),
632 GNUNET_i2s (id));
622 rp = GNUNET_new (struct GSF_RequestPlan); 633 rp = GNUNET_new (struct GSF_RequestPlan);
623 bi = GNUNET_new (struct GSF_PendingRequestPlanBijection); 634 bi = GNUNET_new (struct GSF_PendingRequestPlanBijection);
624 bi->rp = rp; 635 bi->rp = rp;
625 bi->pr = pr; 636 bi->pr = pr;
626 GNUNET_CONTAINER_MDLL_insert (PR, prd->pr_head, prd->pr_tail, bi); 637 GNUNET_CONTAINER_MDLL_insert (PR,
627 GNUNET_CONTAINER_MDLL_insert (PE, rp->pe_head, rp->pe_tail, bi); 638 prd->pr_head,
639 prd->pr_tail,
640 bi);
641 GNUNET_CONTAINER_MDLL_insert (PE,
642 rp->pe_head,
643 rp->pe_tail,
644 bi);
628 rp->pp = pp; 645 rp->pp = pp;
629 GNUNET_assert (GNUNET_YES == 646 GNUNET_assert (GNUNET_YES ==
630 GNUNET_CONTAINER_multihashmap_put (pp->plan_map, 647 GNUNET_CONTAINER_multihashmap_put (pp->plan_map,
631 get_rp_key (rp), rp, 648 get_rp_key (rp),
649 rp,
632 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE)); 650 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE));
633 plan (pp, rp); 651 plan (pp, rp);
634} 652}
diff --git a/src/fs/gnunet-service-fs_pe.h b/src/fs/gnunet-service-fs_pe.h
index a6c011415..a9c3c5c4e 100644
--- a/src/fs/gnunet-service-fs_pe.h
+++ b/src/fs/gnunet-service-fs_pe.h
@@ -36,7 +36,8 @@
36 * @param pr request with the entry 36 * @param pr request with the entry
37 */ 37 */
38void 38void
39GSF_plan_add_ (struct GSF_ConnectedPeer *cp, struct GSF_PendingRequest *pr); 39GSF_plan_add_ (struct GSF_ConnectedPeer *cp,
40 struct GSF_PendingRequest *pr);
40 41
41 42
42/** 43/**