-report error if starting openssl failed
[oweals/gnunet.git] / src / ats / gnunet-service-ats_performance.c
index 585de6669837c7d7d5f60cc841bfc1f1bbe2418d..f0986959c4180d689f8cf1ce84a447cdda718b6e 100644 (file)
@@ -124,11 +124,11 @@ void
 GAS_performance_remove_client (struct GNUNET_SERVER_Client *client)
 {
   struct PerformanceClient *pc;
+
   pc = find_client (client);
   if (NULL == pc)
     return;
   GNUNET_CONTAINER_DLL_remove (pc_head, pc_tail, pc);
-  GNUNET_SERVER_client_drop (client);
   GNUNET_free (pc);
 }
 
@@ -225,7 +225,6 @@ GAS_performance_notify_all_clients (const struct GNUNET_PeerIdentity *peer,
                                 struct GNUNET_BANDWIDTH_Value32NBO bandwidth_in)
 {
   struct PerformanceClient *pc;
-
   for (pc = pc_head; pc != NULL; pc = pc->next)
     if (pc->flag == START_FLAG_PERFORMANCE_WITH_PIC)
     {
@@ -314,13 +313,13 @@ GAS_performance_add_client (struct GNUNET_SERVER_Client *client,
   pc->client = client;
   pc->flag = flag;
   GNUNET_SERVER_notification_context_add (nc, client);
-  GNUNET_SERVER_client_keep (client);
   GNUNET_CONTAINER_DLL_insert (pc_head, pc_tail, pc);
 
   /* Send information about clients */
   GAS_addresses_iterate_peers (GSA_addresses, &peer_it, pc);
 }
 
+
 static void transmit_req_addr (struct AddressIteration *ai,
     const struct GNUNET_PeerIdentity *id,
     const char *plugin_name,
@@ -333,7 +332,6 @@ static void transmit_req_addr (struct AddressIteration *ai,
     struct GNUNET_BANDWIDTH_Value32NBO bandwidth_in)
 
 {
-
   struct GNUNET_ATS_Information *atsp;
   struct PeerInformationMessage *msg;
   char *addrp;
@@ -455,6 +453,7 @@ req_addr_peer_it (void *cls,
   }
 }
 
+
 /**
  * Handle 'address list request' messages from clients.
  *
@@ -505,10 +504,24 @@ GAS_handle_request_address_list (void *cls, struct GNUNET_SERVER_Client *client,
 
 void
 GAS_handle_performance_update (struct GNUNET_PeerIdentity *peer,
+                                                                                                                        const char *plugin_name,
+                                                                                                                        const void *plugin_addr,
+                                                                                                                        size_t plugin_addr_len,
+                                                                                                                        const int active,
                                                                                                                         struct GNUNET_ATS_Information *ats,
-                                                                                                                        uint32_t ats_count)
+                                                                                                                        uint32_t ats_count,
+                                                                                                                        struct GNUNET_BANDWIDTH_Value32NBO
+                                                                                                                        bandwidth_out,
+                                                                                                                        struct GNUNET_BANDWIDTH_Value32NBO
+                                                                                                                        bandwidth_in)
 {
 /* Notify here */
+       GAS_performance_notify_all_clients (peer,
+                                                                                                                                                       plugin_name,
+                                                                                                                                                       plugin_addr, plugin_addr_len,
+                                                                                                                                                       active,
+                                                                                                                                                       ats, ats_count,
+                                                                                                                                                       bandwidth_out, bandwidth_in);
 
 #if 0
        struct PerformanceClient *cur;
@@ -569,7 +582,7 @@ GAS_handle_reservation_request (void *cls, struct GNUNET_SERVER_Client *client,
               "RESERVATION_REQUEST");
   amount = (int32_t) ntohl (msg->amount);
   res_delay = GAS_reservations_reserve (&msg->peer, amount);
-  if (res_delay.rel_value > 0)
+  if (res_delay.rel_value_us > 0)
     amount = 0;
   result.header.size = htons (sizeof (struct ReservationResultMessage));
   result.header.type = htons (GNUNET_MESSAGE_TYPE_ATS_RESERVATION_RESULT);