gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r11144 - in gnunet: . src/fs


From: gnunet
Subject: [GNUnet-SVN] r11144 - in gnunet: . src/fs
Date: Sat, 1 May 2010 13:21:42 +0200

Author: grothoff
Date: 2010-05-01 13:21:42 +0200 (Sat, 01 May 2010)
New Revision: 11144

Modified:
   gnunet/TODO
   gnunet/src/fs/fs.c
Log:
todo update

Modified: gnunet/TODO
===================================================================
--- gnunet/TODO 2010-05-01 11:16:23 UTC (rev 11143)
+++ gnunet/TODO 2010-05-01 11:21:42 UTC (rev 11144)
@@ -1,7 +1,9 @@
 0.9.0pre1:
 * FS: [CG]
-  - persistence support (unindex, search, download)
-  - persistence testing (publish)
+  - serialization and deserialization code (search, download)
+  - generate SUSPEND events (publish, unindex, search, download)
+  - actually call 'sync' functions (publish, unindex, search, download)
+  - persistence testing (publish, unindex)
   - gnunet-service-fs (hot-path routing, load-based routing, nitpicks)  
   - [gnunet-service-fs.c:208]: member 'LocalGetContext::results_bf_size' is 
never used
   - [gnunet-service-fs.c:501]: member 'PendingRequest::used_pids_size' is 
never used

Modified: gnunet/src/fs/fs.c
===================================================================
--- gnunet/src/fs/fs.c  2010-05-01 11:16:23 UTC (rev 11143)
+++ gnunet/src/fs/fs.c  2010-05-01 11:21:42 UTC (rev 11144)
@@ -1403,7 +1403,47 @@
 }
 
 
+
 /**
+ * Function called with a filename of serialized search operation
+ * to deserialize.
+ *
+ * @param cls the 'struct GNUNET_FS_Handle*'
+ * @param filename complete filename (absolute path)
+ * @return GNUNET_OK (continue to iterate)
+ */
+static int
+deserialize_search_file (void *cls,
+                         const char *filename)
+{
+  /* FIXME */
+  // Deserialize Search:
+  // * for each query, read file with search results
+  // * for each search result with active download, deserialize download
+  // * for each directory search result, check for active downloads of contents
+  return GNUNET_OK;
+}
+
+
+/**
+ * Deserialize information about pending search operations.
+ *
+ * @param h master context
+ */
+static void
+deserialize_search (struct GNUNET_FS_Handle *h)
+{
+  char *dn;
+
+  dn = get_serialization_file_name (h, "search", "");
+  if (dn == NULL)
+    return;
+  GNUNET_DISK_directory_scan (dn, &deserialize_search_file, h);
+  GNUNET_free (dn);
+}
+
+
+/**
  * Setup a connection to the file-sharing service.
  *
  * @param sched scheduler to use
@@ -1466,18 +1506,13 @@
     }
   va_end (ap);
   // FIXME: setup receive-loop with client (do we need one?)
-
   if (0 != (GNUNET_FS_FLAGS_PERSISTENCE & flags))
     {
+      /* FIXME: could write one generic deserialization
+        function instead of these four... */
       deserialize_publish (ret);
-      /* FIXME: not implemented! */
-      // Deserialize Search:
-      // * read search queries
-      // * for each query, read file with search results
-      // * for each search result with active download, deserialize download
-      // * for each directory search result, check for active downloads of 
contents
-      // Deserialize Download:
-      // * always part of search???
+      deserialize_search (ret);
+      /* FIXME: deserialize downloads that are NOT part of searches */
       deserialize_unindex (ret);
     }
   return ret;





reply via email to

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