-getting ATS and transport to compile again (part of #3047)
[oweals/gnunet.git] / src / transport / gnunet-service-transport_neighbours.c
index f096415068370040feeee45bbe74ea4d5174d0ff..90f45f126cbe8ee5b0d81d29457bfd16d3de6a61 100644 (file)
@@ -70,7 +70,7 @@
 /**
  * How long are we willing to wait for a response from ATS before timing out?
  */
-#define ATS_RESPONSE_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MILLISECONDS, 500)
+#define ATS_RESPONSE_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MILLISECONDS, 5000)
 
 /**
  * How long are we willing to wait for an ACK from the other peer before
@@ -329,7 +329,7 @@ struct SessionDisconnectMessage
   /**
    * Public key of the sender.
    */
-  struct GNUNET_CRYPTO_EccPublicKey public_key;
+  struct GNUNET_CRYPTO_EccPublicSignKey public_key;
 
   /**
    * Signature of the peer that sends us the disconnect.  Only
@@ -739,7 +739,7 @@ struct BlackListCheckContext
 /**
  * Hash map from peer identities to the respective 'struct NeighbourMapEntry'.
  */
-static struct GNUNET_CONTAINER_MultiHashMap *neighbours;
+static struct GNUNET_CONTAINER_MultiPeerMap *neighbours;
 
 /**
  * We keep blacklist checks in a DLL so that we can find
@@ -795,7 +795,7 @@ lookup_neighbour (const struct GNUNET_PeerIdentity *pid)
 {
   if (NULL == neighbours)
     return NULL;
-  return GNUNET_CONTAINER_multihashmap_get (neighbours, &pid->hashPubKey);
+  return GNUNET_CONTAINER_multipeermap_get (neighbours, pid);
 }
 
 static const char *
@@ -1077,8 +1077,8 @@ free_neighbour (struct NeighbourMapEntry *n, int keep_sessions)
   MEMDEBUG_free_non_null (backup_primary, __LINE__);
 
   GNUNET_assert (GNUNET_YES ==
-                 GNUNET_CONTAINER_multihashmap_remove (neighbours,
-                                                       &n->id.hashPubKey, n));
+                 GNUNET_CONTAINER_multipeermap_remove (neighbours,
+                                                       &n->id, n));
 
   // FIXME-ATS-API: we might want to be more specific about
   // which states we do this from in the future (ATS should
@@ -1195,13 +1195,13 @@ send_disconnect (struct NeighbourMapEntry *n)
   disconnect_msg.reserved = htonl (0);
   disconnect_msg.purpose.size =
       htonl (sizeof (struct GNUNET_CRYPTO_EccSignaturePurpose) +
-             sizeof (struct GNUNET_CRYPTO_EccPublicKey) +
+             sizeof (struct GNUNET_CRYPTO_EccPublicSignKey) +
              sizeof (struct GNUNET_TIME_AbsoluteNBO));
   disconnect_msg.purpose.purpose =
       htonl (GNUNET_MESSAGE_TYPE_TRANSPORT_SESSION_DISCONNECT);
   disconnect_msg.timestamp =
       GNUNET_TIME_absolute_hton (GNUNET_TIME_absolute_get ());
-  disconnect_msg.public_key = GST_my_public_key;
+  disconnect_msg.public_key = GST_my_identity.public_key;
   GNUNET_assert (GNUNET_OK ==
                  GNUNET_CRYPTO_ecc_sign (GST_my_private_key,
                                          &disconnect_msg.purpose,
@@ -1799,8 +1799,8 @@ setup_neighbour (const struct GNUNET_PeerIdentity *peer)
                                  MAX_BANDWIDTH_CARRY_S);
   n->task = GNUNET_SCHEDULER_add_now (&master_task, n);
   GNUNET_assert (GNUNET_OK ==
-                 GNUNET_CONTAINER_multihashmap_put (neighbours,
-                                                    &n->id.hashPubKey, n,
+                 GNUNET_CONTAINER_multipeermap_put (neighbours,
+                                                    &n->id, n,
                                                     GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY));
   return n;
 }
@@ -1849,14 +1849,14 @@ GST_neighbours_try_connect (const struct GNUNET_PeerIdentity *target)
                      GNUNET_i2s (target));
                return; /* during shutdown, do nothing */
   }
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
              "Asked to connect to peer `%s'\n",
               GNUNET_i2s (target));
   if (0 == memcmp (target, &GST_my_identity, sizeof (struct GNUNET_PeerIdentity)))
   {
     /* refuse to connect to myself */
     /* FIXME: can this happen? Is this not an API violation? */
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+    GNUNET_log (GNUNET_ERROR_TYPE_INFO,
                "Refusing to try to connect to myself.\n");
     return;
   }
@@ -1877,8 +1877,8 @@ GST_neighbours_try_connect (const struct GNUNET_PeerIdentity *target)
     case S_CONNECT_RECV_ATS:
     case S_CONNECT_RECV_BLACKLIST:
     case S_CONNECT_RECV_ACK:
-      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-                 "Ignoring request to try to connect to `%s', already trying!\n",
+      GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+               "Ignoring request to try to connect to `%s', already trying!\n",
                  GNUNET_i2s (target));
       return; /* already trying */
     case S_CONNECTED:      
@@ -1887,8 +1887,8 @@ GST_neighbours_try_connect (const struct GNUNET_PeerIdentity *target)
     case S_RECONNECT_SENT:
     case S_CONNECTED_SWITCHING_BLACKLIST:
     case S_CONNECTED_SWITCHING_CONNECT_SENT:
-      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-                 "Ignoring request to try to connect, already connected to `%s'!\n",
+      GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+               "Ignoring request to try to connect, already connected to `%s'!\n",
                  GNUNET_i2s (target));
       return; /* already connected */
     case S_DISCONNECT:
@@ -2294,8 +2294,10 @@ GST_neighbours_handle_connect (const struct GNUNET_MessageHeader *message,
  * @param session session to use (or NULL)
  * @param ats performance data
  * @param ats_count number of entries in ats
- * @param bandwidth_in inbound quota to be used when connection is up
- * @param bandwidth_out outbound quota to be used when connection is up
+ * @param bandwidth_in inbound quota to be used when connection is up,
+ *     0 to disconnect from peer
+ * @param bandwidth_out outbound quota to be used when connection is up,
+ *     0 to disconnect from peer
  */
 void
 GST_neighbours_switch_to_address (const struct GNUNET_PeerIdentity *peer,
@@ -2332,7 +2334,7 @@ GST_neighbours_switch_to_address (const struct GNUNET_PeerIdentity *peer,
     return;
   }
 
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
               "ATS tells us to switch to address '%s' session %p for "
               "peer `%s' in state %s (quota in/out %u %u )\n",
               (address->address_length != 0) ? GST_plugins_a2s (address): "<inbound>",
@@ -3155,7 +3157,7 @@ GST_neighbours_handle_disconnect_message (const struct GNUNET_PeerIdentity
     return;
   }
   GNUNET_CRYPTO_hash (&sdm->public_key,
-                      sizeof (struct GNUNET_CRYPTO_EccPublicKey),
+                      sizeof (struct GNUNET_CRYPTO_EccPublicSignKey),
                       &hc);
   if (0 != memcmp (peer, &hc, sizeof (struct GNUNET_PeerIdentity)))
   {
@@ -3164,7 +3166,7 @@ GST_neighbours_handle_disconnect_message (const struct GNUNET_PeerIdentity
   }
   if (ntohl (sdm->purpose.size) !=
       sizeof (struct GNUNET_CRYPTO_EccSignaturePurpose) +
-      sizeof (struct GNUNET_CRYPTO_EccPublicKey) +
+      sizeof (struct GNUNET_CRYPTO_EccPublicSignKey) +
       sizeof (struct GNUNET_TIME_AbsoluteNBO))
   {
     GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
@@ -3221,7 +3223,7 @@ struct IteratorContext
  * @return GNUNET_OK (continue to iterate)
  */
 static int
-neighbours_iterate (void *cls, const struct GNUNET_HashCode * key, void *value)
+neighbours_iterate (void *cls, const struct GNUNET_PeerIdentity * key, void *value)
 {
   struct IteratorContext *ic = cls;
   struct NeighbourMapEntry *n = value;
@@ -3265,7 +3267,7 @@ GST_neighbours_iterate (GST_NeighbourIterator cb, void *cb_cls)
     return; /* can happen during shutdown */
   ic.cb = cb;
   ic.cb_cls = cb_cls;
-  GNUNET_CONTAINER_multihashmap_iterate (neighbours, &neighbours_iterate, &ic);
+  GNUNET_CONTAINER_multipeermap_iterate (neighbours, &neighbours_iterate, &ic);
 }
 
 
@@ -3373,7 +3375,7 @@ GST_neighbours_start (void *cls,
   connect_notify_cb = connect_cb;
   disconnect_notify_cb = disconnect_cb;
   address_change_cb = peer_address_cb;
-  neighbours = GNUNET_CONTAINER_multihashmap_create (NEIGHBOUR_TABLE_SIZE, GNUNET_NO);
+  neighbours = GNUNET_CONTAINER_multipeermap_create (NEIGHBOUR_TABLE_SIZE, GNUNET_NO);
 }
 
 
@@ -3386,7 +3388,9 @@ GST_neighbours_start (void *cls,
  * @return GNUNET_OK (continue to iterate)
  */
 static int
-disconnect_all_neighbours (void *cls, const struct GNUNET_HashCode * key, void *value)
+disconnect_all_neighbours (void *cls, 
+                          const struct GNUNET_PeerIdentity *key, 
+                          void *value)
 {
   struct NeighbourMapEntry *n = value;
 
@@ -3407,10 +3411,10 @@ GST_neighbours_stop ()
 {
   if (NULL == neighbours)
     return;
-  GNUNET_CONTAINER_multihashmap_iterate (neighbours, 
+  GNUNET_CONTAINER_multipeermap_iterate (neighbours, 
                                         &disconnect_all_neighbours,
                                          NULL);
-  GNUNET_CONTAINER_multihashmap_destroy (neighbours);
+  GNUNET_CONTAINER_multipeermap_destroy (neighbours);
   neighbours = NULL;
   callback_cls = NULL;
   connect_notify_cb = NULL;