[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r37662 - in gnunet/src: . dv
From: |
gnunet |
Subject: |
[GNUnet-SVN] r37662 - in gnunet/src: . dv |
Date: |
Thu, 4 Aug 2016 15:26:21 +0200 |
Author: grothoff
Date: 2016-08-04 15:26:21 +0200 (Thu, 04 Aug 2016)
New Revision: 37662
Modified:
gnunet/src/Makefile.am
gnunet/src/dv/gnunet-service-dv.c
Log:
-finish dv conversion to new core MQ API
Modified: gnunet/src/Makefile.am
===================================================================
--- gnunet/src/Makefile.am 2016-08-04 11:59:12 UTC (rev 37661)
+++ gnunet/src/Makefile.am 2016-08-04 13:26:21 UTC (rev 37662)
@@ -12,6 +12,7 @@
if HAVE_EXPERIMENTAL
EXP_DIR = \
+ dv \
rps \
$(CONSENSUS) \
$(SECRETSHARING)
Modified: gnunet/src/dv/gnunet-service-dv.c
===================================================================
--- gnunet/src/dv/gnunet-service-dv.c 2016-08-04 11:59:12 UTC (rev 37661)
+++ gnunet/src/dv/gnunet-service-dv.c 2016-08-04 13:26:21 UTC (rev 37662)
@@ -134,7 +134,7 @@
/**
* Identity of the peer.
*/
- const struct GNUNET_PeerIdentity *peer;
+ struct GNUNET_PeerIdentity peer;
/**
* Session ID we use whenever we create a set union with
@@ -678,7 +678,7 @@
/* we have added all elements to the set, run the operation */
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Finished building my SET for peer `%s' with %u elements,
committing\n",
- GNUNET_i2s (neighbor->peer),
+ GNUNET_i2s (&neighbor->peer),
neighbor->consensus_elements);
GNUNET_SET_commit (neighbor->set_op,
neighbor->my_set);
@@ -701,7 +701,7 @@
&my_identity,
sizeof (my_identity))) &&
(0 != memcmp (&target->peer,
- neighbor->peer,
+ &neighbor->peer,
sizeof (struct GNUNET_PeerIdentity))) )
{
/* Add target if it is not the neighbor or this peer */
@@ -734,19 +734,19 @@
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Direct connection to %s established, routing table exchange
begins.\n",
- GNUNET_i2s (neighbor->peer));
+ GNUNET_i2s (&neighbor->peer));
GNUNET_STATISTICS_update (stats,
"# peers connected (1-hop)",
1, GNUNET_NO);
route = GNUNET_CONTAINER_multipeermap_get (all_routes,
- neighbor->peer);
+ &neighbor->peer);
if (NULL != route)
{
GNUNET_assert (GNUNET_YES ==
GNUNET_CONTAINER_multipeermap_remove (all_routes,
- neighbor->peer,
+ &neighbor->peer,
route));
- send_disconnect_to_plugin (neighbor->peer);
+ send_disconnect_to_plugin (&neighbor->peer);
release_route (route);
GNUNET_free (route);
}
@@ -753,7 +753,7 @@
neighbor->direct_route = GNUNET_new (struct Route);
neighbor->direct_route->next_hop = neighbor;
- neighbor->direct_route->target.peer = *neighbor->peer;
+ neighbor->direct_route->target.peer = neighbor->peer;
allocate_route (neighbor->direct_route, DIRECT_NEIGHBOR_COST);
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -765,7 +765,7 @@
GNUNET_CRYPTO_hash (&my_identity,
sizeof (my_identity),
&h1);
- GNUNET_CRYPTO_hash (neighbor->peer,
+ GNUNET_CRYPTO_hash (&neighbor->peer,
sizeof (struct GNUNET_PeerIdentity),
&h2);
GNUNET_CRYPTO_hash_xor (&h1,
@@ -799,7 +799,7 @@
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Starting SET listen operation with peer `%s'\n",
- GNUNET_i2s(&neighbor->peer));
+ GNUNET_i2s (&neighbor->peer));
neighbor->listen_handle = GNUNET_SET_listen (cfg,
GNUNET_SET_OPERATION_UNION,
&neighbor->real_session_id,
@@ -851,10 +851,10 @@
"Core connected to %s (distance unknown)\n",
GNUNET_i2s (peer));
neighbor = GNUNET_new (struct DirectNeighbor);
- neighbor->peer = peer;
+ neighbor->peer = *peer;
GNUNET_assert (GNUNET_YES ==
GNUNET_CONTAINER_multipeermap_put (direct_neighbors,
- neighbor->peer,
+ &neighbor->peer,
neighbor,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY));
neighbor->connected = GNUNET_YES;
@@ -1056,12 +1056,6 @@
GNUNET_CONTAINER_multipeermap_iterate (all_routes,
&cull_routes,
neighbor);
- if (NULL != neighbor->cth)
- {
- GNUNET_CORE_notify_transmit_ready_cancel (neighbor->cth);
- neighbor->cth = NULL;
- }
-
if (NULL != neighbor->direct_route)
{
release_route (neighbor->direct_route);
@@ -1068,7 +1062,6 @@
GNUNET_free (neighbor->direct_route);
neighbor->direct_route = NULL;
}
-
if (NULL != neighbor->neighbor_table_consensus)
{
GNUNET_CONTAINER_multipeermap_iterate (neighbor->neighbor_table_consensus,
@@ -1189,7 +1182,7 @@
neighbor->peer = address->peer;
GNUNET_assert (GNUNET_YES ==
GNUNET_CONTAINER_multipeermap_put (direct_neighbors,
- &address->peer,
+ &neighbor->peer,
neighbor,
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY));
neighbor->connected = GNUNET_NO; /* not yet */
@@ -1363,6 +1356,7 @@
struct DirectNeighbor *neighbor = cls;
struct DirectNeighbor *dn;
struct Target *target;
+ const struct Target *ctarget;
char *status_str;
switch (status)
@@ -1395,7 +1389,11 @@
GNUNET_break_op (0);
return;
}
- if ( (NULL != (dn = GNUNET_CONTAINER_multipeermap_get (direct_neighbors,
&((struct Target *) element->data)->peer))) && (DIRECT_NEIGHBOR_COST ==
dn->distance) )
+ ctarget = element->data;
+ if ( (NULL !=
+ (dn = GNUNET_CONTAINER_multipeermap_get (direct_neighbors,
+ &ctarget->peer))) &&
+ (DIRECT_NEIGHBOR_COST == dn->distance) )
{
/* this is a direct neighbor of ours, we do not care about routes
to this peer */
@@ -1515,7 +1513,7 @@
return; /* why??? */
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Starting to create consensus with %s\n",
- GNUNET_i2s (neighbor->peer));
+ GNUNET_i2s (&neighbor->peer));
if (NULL != neighbor->set_op)
{
GNUNET_SET_operation_cancel (neighbor->set_op);
@@ -1581,7 +1579,7 @@
const struct RouteMessage *rm)
{
const struct GNUNET_MessageHeader *payload;
-
+
if (ntohs (rm->header.size) < sizeof (struct RouteMessage) + sizeof (struct
GNUNET_MessageHeader))
{
GNUNET_break_op (0);
@@ -1595,8 +1593,8 @@
}
return GNUNET_OK;
}
-
+
/**
* Core handler for DV data messages. Whatever this message
* contains all we really have to do is rip it out of its
@@ -1610,9 +1608,10 @@
handle_dv_route_message (void *cls,
const struct RouteMessage *rm)
{
+ struct DirectNeighbor *neighbor = cls;
const struct GNUNET_MessageHeader *payload;
struct Route *route;
- struct DirectNeighbor *neighbor;
+ struct DirectNeighbor *nneighbor;
struct DirectNeighbor *dn;
struct Target *target;
uint32_t distance;
@@ -1623,7 +1622,7 @@
distance = ntohl (rm->distance);
payload = (const struct GNUNET_MessageHeader *) &rm[1];
- strncpy (prev, GNUNET_i2s (peer), 4);
+ strncpy (prev, GNUNET_i2s (&neighbor->peer), 4);
strncpy (me, GNUNET_i2s (&my_identity), 4);
strncpy (src, GNUNET_i2s (&rm->sender), 4);
strncpy (dst, GNUNET_i2s (&rm->target), 4);
@@ -1662,13 +1661,6 @@
(distance < DEFAULT_FISHEYE_DEPTH) )
{
/* don't have reverse route yet, learn it! */
- neighbor = GNUNET_CONTAINER_multipeermap_get (direct_neighbors,
- peer);
- if (NULL == neighbor)
- {
- GNUNET_break (0);
- return;
- }
target = GNUNET_new (struct Target);
target->peer = rm->sender;
target->distance = htonl (distance);
@@ -1708,13 +1700,6 @@
"Learning sender %s at distance %u from forwarding!\n",
GNUNET_i2s (&rm->sender),
1 + distance);
- neighbor = GNUNET_CONTAINER_multipeermap_get (direct_neighbors,
- peer);
- if (NULL == neighbor)
- {
- GNUNET_break (0);
- return;
- }
target = GNUNET_new (struct Target);
target->peer = rm->sender;
target->distance = htonl (distance);
@@ -1737,9 +1722,9 @@
&rm->target);
if (NULL == route)
{
- neighbor = GNUNET_CONTAINER_multipeermap_get (direct_neighbors,
+ nneighbor = GNUNET_CONTAINER_multipeermap_get (direct_neighbors,
&rm->target);
- if (NULL == neighbor)
+ if (NULL == nneighbor)
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"No route to %s, not routing %u bytes!\n",
@@ -1753,12 +1738,12 @@
}
else
{
- neighbor = route->next_hop;
+ nneighbor = route->next_hop;
}
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Forwarding message to %s\n",
- GNUNET_i2s (neighbor->peer));
- forward_payload (neighbor,
+ GNUNET_i2s (&nneighbor->peer));
+ forward_payload (nneighbor,
distance + 1,
&rm->sender,
&rm->target,
@@ -1838,7 +1823,7 @@
handle_direct_disconnect (neighbor);
GNUNET_assert (GNUNET_YES ==
GNUNET_CONTAINER_multipeermap_remove (direct_neighbors,
- neighbor->peer,
+ &neighbor->peer,
neighbor));
GNUNET_free (neighbor);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r37662 - in gnunet/src: . dv,
gnunet <=