gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r14927 - in gnunet/src: include mesh


From: gnunet
Subject: [GNUnet-SVN] r14927 - in gnunet/src: include mesh
Date: Fri, 8 Apr 2011 03:01:18 +0200

Author: bartpolot
Date: 2011-04-08 03:01:18 +0200 (Fri, 08 Apr 2011)
New Revision: 14927

Modified:
   gnunet/src/include/gnunet_mesh_service_new.h
   gnunet/src/mesh/gnunet-service-mesh.c
Log:
Work in progress


Modified: gnunet/src/include/gnunet_mesh_service_new.h
===================================================================
--- gnunet/src/include/gnunet_mesh_service_new.h        2011-04-07 21:15:05 UTC 
(rev 14926)
+++ gnunet/src/include/gnunet_mesh_service_new.h        2011-04-08 01:01:18 UTC 
(rev 14927)
@@ -73,7 +73,8 @@
                                  void **tunnel_ctx,
                                  const struct GNUNET_PeerIdentity *sender,
                                   const struct GNUNET_MessageHeader *message,
-                                 const struct GNUNET_TRANSPORT_ATS_Information 
*atsi);
+                                 const struct GNUNET_TRANSPORT_ATS_Information
+                                 *atsi);
 
 
 /**
@@ -108,10 +109,12 @@
  *
  * @param cls closure (set from GNUNET_MESH_connect)
  * @param tunnel connection to the other end (henceforth invalid)
- * @param tunnel_ctx place where local state associated with the tunnel is 
stored
+ * @param tunnel_ctx place where local state associated
+ *                   with the tunnel is stored
  */
 typedef void (GNUNET_MESH_TunnelEndHandler)(void *cls,
-                                           const struct GNUNET_MESH_Tunnel 
*tunnel,
+                                           const struct GNUNET_MESH_Tunnel
+                                           *tunnel,
                                            void **tunnel_ctx);
 
 
@@ -125,14 +128,15 @@
  * Connect to the mesh service.
  *
  * @param cfg configuration to use
- * @param cls closure for the various callbacks that follow (including 
handlers in the handlers array)
+ * @param cls closure for the various callbacks that follow
+ *            (including handlers in the handlers array)
  * @param cleaner function called when an *inbound* tunnel is destroyed
  * @param handlers callbacks for messages we care about, NULL-terminated
- *                note that the mesh is allowed to drop notifications about 
inbound
- *                messages if the client does not process them fast enough 
(for this
- *                notification type, a bounded queue is used)
- * @return handle to the mesh service 
- *           NULL on error (in this case, init is never called)
+ *                note that the mesh is allowed to drop notifications about
+ *                inbound messages if the client does not process them fast
+ *                enough (for this notification type, a bounded queue is used)
+ * @return handle to the mesh service NULL on error
+ *         (in this case, init is never called)
  */
 struct GNUNET_MESH_Handle *
 GNUNET_MESH_connect (const struct GNUNET_CONFIGURATION_Handle *cfg,
@@ -157,7 +161,7 @@
  * @param peer peer identity the tunnel stopped working with
  */
 typedef void (*GNUNET_MESH_TunnelDisconnectHandler) (void *cls,
-                                                    const struct 
GNUNET_PeerIdentity *peer);
+                                        const struct GNUNET_PeerIdentity 
*peer);
 
 
 /**
@@ -168,14 +172,14 @@
  * @param atsi performance data for the connection
  */
 typedef void (*GNUNET_MESH_TunnelConnectHandler) (void *cls,
-                                                 const struct 
GNUNET_PeerIdentity *peer,
-                                                 const struct 
GNUNET_TRANSPORT_ATS_Information *atsi);
+                           const struct GNUNET_PeerIdentity *peer,
+                           const struct GNUNET_TRANSPORT_ATS_Information 
*atsi);
 
 
 
 /**
- * Create a new tunnel (we're initiator and will be allowed to add/remove 
peers and
- * to broadcast).
+ * Create a new tunnel (we're initiator and will be allowed to add/remove peers
+ * and to broadcast).
  *
  * @param h mesh handle
  * @param connect_handler function to call when peers are actually connected
@@ -184,9 +188,11 @@
  */
 struct GNUNET_MESH_Tunnel *
 GNUNET_MESH_tunnel_create (struct GNUNET_MESH_Handle *h,
-                          GNUNET_MESH_TunnelConnectHandler connect_handler,
-                          GNUNET_MESH_TunnelDisconnectHandler 
disconnect_handler,
-                          void *handler_cls);
+                           GNUNET_MESH_TunnelConnectHandler
+                           connect_handler,
+                           GNUNET_MESH_TunnelDisconnectHandler
+                           disconnect_handler,
+                           void *handler_cls);
 
 /**
  * Destroy an existing tunnel.
@@ -229,8 +235,8 @@
  *
  * @param tunnel handle to existing tunnel
  * @param timeout how long to try to establish a connection
- * @param app_type application type that must be supported by the peer (MESH 
should
- *                discover peer in proximity handling this type)
+ * @param app_type application type that must be supported by the peer
+ *                 (MESH should discover peer in proximity handling this type)
  */
 void
 GNUNET_MESH_peer_request_connect_by_type (struct GNUNET_MESH_Tunnel *tunnel,
@@ -254,7 +260,8 @@
  * @param cork is corking allowed for this transmission?
  * @param priority how important is the message?
  * @param maxdelay how long can the message wait?
- * @param target destination for the message, NULL for multicast to all tunnel 
targets 
+ * @param target destination for the message
+ *               NULL for multicast to all tunnel targets 
  * @param notify_size how many bytes of buffer space does notify want?
  * @param notify function to call when buffer space is available;
  *        will be called with NULL on timeout or if the overall queue

Modified: gnunet/src/mesh/gnunet-service-mesh.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh.c       2011-04-07 21:15:05 UTC (rev 
14926)
+++ gnunet/src/mesh/gnunet-service-mesh.c       2011-04-08 01:01:18 UTC (rev 
14927)
@@ -279,6 +279,7 @@
 };
 
 
+struct Client; /* FWD declaration */
 /**
  * Struct containing all information regarding a tunnel
  * For an intermediate node the improtant info used will be:
@@ -338,6 +339,11 @@
     struct Path                 *paths;
 
     /**
+     * If this tunnel was created by a local client, what's its handle?
+     */
+    struct Client               *client;
+
+    /**
      * Messages ready to transmit??? -- FIXME real queues needed
      */
     struct GNUNET_MessageHeader *msg_out;
@@ -347,10 +353,6 @@
      */
     struct GNUNET_MessageHeader *msg_in;
 
-    /**
-     * If this tunnel was created by a local client, what's its handle?
-     */
-    struct GNUNET_SERVER_Client *initiator;
 };
 
 /**
@@ -391,8 +393,8 @@
 /**
  * All the clients
  */
-// static struct Client            clients_head;
-// static struct Client            clients_tail;
+//static struct Client            clients_head;
+//static struct Client            clients_tail;
 
 /**
  * All the tunnels
@@ -522,7 +524,20 @@
                          struct GNUNET_SERVER_Client *client,
                          const struct GNUNET_MessageHeader *message)
 {
-    return;
+    struct Client *c;
+    c = GNUNET_malloc(sizeof(struct Client));
+    c->handle = client;
+    //c->messages_subscribed = message->;
+    
+      /*client *c;
+  tunnel *t;
+
+  t = new;
+  GNUNET_CONTAINER_DLL_insert (c->my_tunnels_head,
+                               c->my_tunnels_tail,
+                               t);*/
+
+
 }
 
 /**
@@ -558,29 +573,23 @@
 /**
  * Functions to handle messages from clients
  */
-/* MESSAGES DEFINED:
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT              272
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_ANY     273
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_ALL     274
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_ADD     275
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_DEL     276
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_BY_TYPE 277
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_CANCEL  278
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_TRANSMIT_READY       279
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_CREATED       280
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_TUNNEL_DESTROYED     281
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_DATA                 282
-#define GNUNET_MESSAGE_TYPE_MESH_LOCAL_DATA_BROADCAST       283
- */
 static struct GNUNET_SERVER_MessageHandler plugin_handlers[] = {
   {&handle_local_new_client, NULL, GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT, 0},
-  {&handle_local_connect, NULL, 
GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_ADD, 0},
-  {&handle_local_connect, NULL, 
GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_DEL, 0},
-  {&handle_local_connect, NULL, 
GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_BY_TYPE, sizeof(struct 
GNUNET_MESH_ConnectPeerByType)},
-  {&handle_local_connect, NULL, 
GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_CANCEL, 0},
-  {&handle_local_network_traffic, NULL, 
GNUNET_MESSAGE_TYPE_MESH_LOCAL_TRANSMIT_READY, 0},
-  {&handle_local_network_traffic, NULL, GNUNET_MESSAGE_TYPE_MESH_LOCAL_DATA, 
0}, /* FIXME needed? */
-  {&handle_local_network_traffic, NULL, 
GNUNET_MESSAGE_TYPE_MESH_LOCAL_DATA_BROADCAST, 0}, /* FIXME needed? */
+  {&handle_local_connect, NULL,
+   GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_ADD, 0},
+  {&handle_local_connect, NULL,
+   GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_DEL, 0},
+  {&handle_local_connect, NULL,
+   GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_BY_TYPE,
+   sizeof(struct GNUNET_MESH_ConnectPeerByType)},
+  {&handle_local_connect, NULL,
+   GNUNET_MESSAGE_TYPE_MESH_LOCAL_CONNECT_PEER_CANCEL, 0},
+  {&handle_local_network_traffic, NULL,
+   GNUNET_MESSAGE_TYPE_MESH_LOCAL_TRANSMIT_READY, 0},
+  {&handle_local_network_traffic, NULL,
+   GNUNET_MESSAGE_TYPE_MESH_LOCAL_DATA, 0}, /* FIXME needed? */
+  {&handle_local_network_traffic, NULL,
+   GNUNET_MESSAGE_TYPE_MESH_LOCAL_DATA_BROADCAST, 0}, /* FIXME needed? */
   {NULL, NULL, 0, 0}
 };
 
@@ -678,12 +687,13 @@
 int
 main (int argc, char *const *argv)
 {
-  int ret;
+    int ret;
 
-  ret = (GNUNET_OK ==
-         GNUNET_SERVICE_run (argc,
-                             argv,
-                             "mesh",
-                             GNUNET_SERVICE_OPTION_NONE, &run, NULL)) ? 0 : 1;
-  return ret;
-}
+    ret = (GNUNET_OK ==
+           GNUNET_SERVICE_run (argc,
+                               argv,
+                               "mesh",
+                               GNUNET_SERVICE_OPTION_NONE,
+                               &run, NULL)) ? 0 : 1;
+    return ret;
+    }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]