[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r32090 - gnunet/src/mesh
From: |
gnunet |
Subject: |
[GNUnet-SVN] r32090 - gnunet/src/mesh |
Date: |
Thu, 30 Jan 2014 03:11:24 +0100 |
Author: bartpolot
Date: 2014-01-30 03:11:24 +0100 (Thu, 30 Jan 2014)
New Revision: 32090
Modified:
gnunet/src/mesh/mesh_api.c
Log:
- client-side implementation of peer queries
Modified: gnunet/src/mesh/mesh_api.c
===================================================================
--- gnunet/src/mesh/mesh_api.c 2014-01-30 02:11:23 UTC (rev 32089)
+++ gnunet/src/mesh/mesh_api.c 2014-01-30 02:11:24 UTC (rev 32090)
@@ -1033,8 +1033,43 @@
+/**
+ * Process a local reply about info on all tunnels, pass info to the user.
+ *
+ * @param h Mesh handle.
+ * @param message Message itself.
+ */
+static void
+process_get_peers (struct GNUNET_MESH_Handle *h,
+ const struct GNUNET_MessageHeader *message)
+{
+ struct GNUNET_MESH_LocalInfoPeer *msg;
+ uint16_t size;
-/*
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Get Peer messasge received\n");
+
+ if (NULL == h->peers_cb)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, " ignored\n");
+ return;
+ }
+
+ size = ntohs (message->size);
+ if (sizeof (struct GNUNET_MESH_LocalInfoPeer) > size)
+ {
+ h->peers_cb (h->peers_cls, NULL, -1, 0, 0);
+ h->peers_cb = NULL;
+ h->peers_cls = NULL;
+ return;
+ }
+
+ msg = (struct GNUNET_MESH_LocalInfoPeer *) message;
+ h->peers_cb (h->peers_cls, &msg->destination,
+ (int) ntohs (msg->tunnel), ntohs (msg->paths), 0);
+}
+
+
+/**
* Process a local reply about info on all tunnels, pass info to the user.
*
* @param h Mesh handle.
@@ -1076,8 +1111,8 @@
-/*
- * Process a local monitor_channel reply, pass info to the user.
+/**
+ * Process a local tunnel info reply, pass info to the user.
*
* @param h Mesh handle.
* @param message Message itself.
@@ -1185,6 +1220,9 @@
// case GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_CHANNEL:
// process_show_channel (h, msg);
// break;
+ case GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_PEERS:
+ process_get_peers (h, msg);
+ break;
case GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_TUNNELS:
process_get_tunnels (h, msg);
break;
@@ -1473,6 +1511,8 @@
case GNUNET_MESSAGE_TYPE_MESH_CHANNEL_DESTROY:
case GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_CHANNELS:
case GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_CHANNEL:
+ case GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_PEER:
+ case GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_PEERS:
case GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_TUNNEL:
case GNUNET_MESSAGE_TYPE_MESH_LOCAL_INFO_TUNNELS:
break;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r32090 - gnunet/src/mesh,
gnunet <=