}
-
-
/**
* Blah.
*/
const void *data,
size_t data_size)
{
- /* basically: call 'forward_message_on_trail';
- NOTE: ignore 'next_target/have_path' for now... */
+ struct GNUNET_MessageHeader *payload;
+
+ payload = GNUNET_malloc (sizeof (struct GNUNET_MessageHeader) + data_size);
+ payload->size = data_size;
+ payload->type = GNUNET_MESSAGE_TYPE_WDHT_GET_RESULT;
+
+ forward_message_on_trail (NULL /* FIXME: put something right */,
+ trail_id,
+ 0 /* FIXME: put something right */,
+ &my_identity,
+ put_path,
+ put_path_length,
+ payload);
}
static struct FriendInfo *
pick_random_friend ()
{
- /* FIXME: implement (easy..., use:
- GNUNET_CONTAINER_multipeermap_get_random ()... */
- return NULL; // FIXME...
+ GNUNET_CONTAINER_PeerMapIterator *it;
+ if (0 != GNUNET_CONTAINER_multipeermap_get_random (friends_peermap,
+ *it,
+ NULL) ){
+ static struct FriendInfo **friend;
+ struct GNUNET_PeerIdentity *key;
+
+ /* FIXME: i am not sure of this one */
+ key = NULL;
+
+ if(GNUNET_YES == GNUNET_CONTAINER_multipeermap_iterator_next (it,
+ key,
+ (void *) friend))
+ {
+ return *friend;
+ }
+ }
+ return NULL;
}
const struct RandomWalkResponseMessage *rwrm;
rwrm = (const struct RandomWalkResponseMessage *) message;
- // 1) lookup trail => find Finger entry => fill in 'destination' and mark valid, move to end of sorted array, mark unsorted, update links from 'trails'
+ // 1) lookup trail => find Finger entry => fill in 'destination' and mark valid, move to end of sorted array,
+ //mark unsorted, update links from 'trails'
/*
* Steps :
* 1 check if we are the correct layer