diff options
Diffstat (limited to 'src/core/gnunet-service-core_sessions.c')
-rw-r--r-- | src/core/gnunet-service-core_sessions.c | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/src/core/gnunet-service-core_sessions.c b/src/core/gnunet-service-core_sessions.c index 6ab97d7d0..c82c72863 100644 --- a/src/core/gnunet-service-core_sessions.c +++ b/src/core/gnunet-service-core_sessions.c | |||
@@ -122,12 +122,6 @@ struct Session | |||
122 | GNUNET_SCHEDULER_TaskIdentifier cork_task; | 122 | GNUNET_SCHEDULER_TaskIdentifier cork_task; |
123 | 123 | ||
124 | /** | 124 | /** |
125 | * Tracking bandwidth for receiving from this peer. | ||
126 | * // FIXME: need to set it! | ||
127 | */ | ||
128 | struct GNUNET_BANDWIDTH_Tracker available_recv_window; | ||
129 | |||
130 | /** | ||
131 | * Available bandwidth out for this peer (current target). This | 125 | * Available bandwidth out for this peer (current target). This |
132 | * value should be the 'MIN' of 'bw_out_internal_limit' and | 126 | * value should be the 'MIN' of 'bw_out_internal_limit' and |
133 | * 'bw_out_external_limit'. | 127 | * 'bw_out_external_limit'. |
@@ -732,82 +726,6 @@ GSC_SESSIONS_handle_client_have_peer (void *cls, struct GNUNET_SERVER_Client *cl | |||
732 | 726 | ||
733 | 727 | ||
734 | /** | 728 | /** |
735 | * Handle REQUEST_INFO request. For this request type, the client must | ||
736 | * have transmitted an INIT first. | ||
737 | * | ||
738 | * @param cls unused | ||
739 | * @param client client sending the request | ||
740 | * @param message iteration request message | ||
741 | */ | ||
742 | void | ||
743 | GSC_SESSIONS_handle_client_request_info (void *cls, struct GNUNET_SERVER_Client *client, | ||
744 | const struct GNUNET_MessageHeader *message) | ||
745 | { | ||
746 | const struct RequestInfoMessage *rcm; | ||
747 | struct Session *session; | ||
748 | struct ConfigurationInfoMessage cim; | ||
749 | int32_t want_reserv; | ||
750 | int32_t got_reserv; | ||
751 | struct GNUNET_TIME_Relative rdelay; | ||
752 | |||
753 | rdelay = GNUNET_TIME_UNIT_ZERO; | ||
754 | #if DEBUG_CORE_CLIENT | ||
755 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
756 | "Core service receives `%s' request.\n", | ||
757 | "REQUEST_INFO"); | ||
758 | #endif | ||
759 | rcm = (const struct RequestInfoMessage *) message; | ||
760 | session = find_session (&rcm->peer); | ||
761 | if (NULL == session) | ||
762 | { | ||
763 | /* Technically, this COULD happen (due to asynchronous behavior), | ||
764 | * but it should be rare, so we should generate an info event | ||
765 | * to help diagnosis of serious errors that might be masked by this */ | ||
766 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
767 | _("Client asked for preference change with peer `%s', which is not connected!\n"), | ||
768 | GNUNET_i2s (&rcm->peer)); | ||
769 | GNUNET_SERVER_receive_done (client, GNUNET_OK); | ||
770 | return; | ||
771 | } | ||
772 | |||
773 | want_reserv = ntohl (rcm->reserve_inbound); | ||
774 | if (want_reserv < 0) | ||
775 | { | ||
776 | got_reserv = want_reserv; | ||
777 | } | ||
778 | else if (want_reserv > 0) | ||
779 | { | ||
780 | rdelay = | ||
781 | GNUNET_BANDWIDTH_tracker_get_delay (&session->available_recv_window, | ||
782 | want_reserv); | ||
783 | if (rdelay.rel_value == 0) | ||
784 | got_reserv = want_reserv; | ||
785 | else | ||
786 | got_reserv = 0; /* all or nothing */ | ||
787 | } | ||
788 | else | ||
789 | got_reserv = 0; | ||
790 | GNUNET_BANDWIDTH_tracker_consume (&session->available_recv_window, got_reserv); | ||
791 | #if DEBUG_CORE_QUOTA | ||
792 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
793 | "Received reservation request for %d bytes for peer `%4s', reserved %d bytes, suggesting delay of %llu ms\n", | ||
794 | (int) want_reserv, GNUNET_i2s (&rcm->peer), (int) got_reserv, | ||
795 | (unsigned long long) rdelay.rel_value); | ||
796 | #endif | ||
797 | cim.header.size = htons (sizeof (struct ConfigurationInfoMessage)); | ||
798 | cim.header.type = htons (GNUNET_MESSAGE_TYPE_CORE_CONFIGURATION_INFO); | ||
799 | cim.reserved_amount = htonl (got_reserv); | ||
800 | cim.reserve_delay = GNUNET_TIME_relative_hton (rdelay); | ||
801 | cim.rim_id = rcm->rim_id; | ||
802 | cim.bw_out = session->bw_out; | ||
803 | cim.preference = 0; /* FIXME: remove */ | ||
804 | cim.peer = rcm->peer; | ||
805 | GSC_CLIENTS_send_to_client (client, &cim.header, GNUNET_NO); | ||
806 | GNUNET_SERVER_receive_done (client, GNUNET_OK); | ||
807 | } | ||
808 | |||
809 | |||
810 | /** | ||
811 | * Update information about a session. | 729 | * Update information about a session. |
812 | * | 730 | * |
813 | * @param peer peer who's session should be updated | 731 | * @param peer peer who's session should be updated |