/**
* 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
/**
* 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
/**
* 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
{
if (NULL == neighbours)
return NULL;
- return GNUNET_CONTAINER_multihashmap_get (neighbours, &pid->hashPubKey);
+ return GNUNET_CONTAINER_multipeermap_get (neighbours, pid);
}
static const char *
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
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,
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;
}
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;
}
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:
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:
* @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,
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>",
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)))
{
}
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,
* @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;
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);
}
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);
}
* @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;
{
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;