diff options
author | Christian Grothoff <christian@grothoff.org> | 2015-10-25 22:39:09 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2015-10-25 22:39:09 +0000 |
commit | a6d5893f9680dea995b1172f601adc27b2039b75 (patch) | |
tree | e8bb63eb153c9b9fe2dc2e24bbbcf398376de6c0 | |
parent | fe1d7543e21cbfae18448c7d15c49ccb2bf8e880 (diff) | |
download | gnunet-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.c | 14 | ||||
-rw-r--r-- | src/fs/gnunet-service-fs_cp.c | 6 | ||||
-rw-r--r-- | src/fs/gnunet-service-fs_pe.c | 54 | ||||
-rw-r--r-- | src/fs/gnunet-service-fs_pe.h | 3 |
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 | */ |
610 | static void | 612 | static void |
611 | connected_peer_cb (void *cls, struct GSF_ConnectedPeer *cp) | 613 | connected_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 | */ |
531 | static int | 531 | static int |
532 | merge_pr (void *cls, const struct GNUNET_HashCode * query, void *element) | 532 | merge_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 | */ |
38 | void | 38 | void |
39 | GSF_plan_add_ (struct GSF_ConnectedPeer *cp, struct GSF_PendingRequest *pr); | 39 | GSF_plan_add_ (struct GSF_ConnectedPeer *cp, |
40 | struct GSF_PendingRequest *pr); | ||
40 | 41 | ||
41 | 42 | ||
42 | /** | 43 | /** |