gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r18686 - in gnunet/src: datastore fs include


From: gnunet
Subject: [GNUnet-SVN] r18686 - in gnunet/src: datastore fs include
Date: Mon, 19 Dec 2011 14:54:35 +0100

Author: grothoff
Date: 2011-12-19 14:54:35 +0100 (Mon, 19 Dec 2011)
New Revision: 18686

Modified:
   gnunet/src/datastore/datastore.h
   gnunet/src/datastore/datastore_api.c
   gnunet/src/datastore/perf_datastore_api.c
   gnunet/src/datastore/test_datastore_api.c
   gnunet/src/datastore/test_datastore_api_management.c
   gnunet/src/fs/fs_namespace.c
   gnunet/src/fs/fs_publish.c
   gnunet/src/fs/fs_unindex.c
   gnunet/src/fs/gnunet-service-fs_indexing.c
   gnunet/src/fs/gnunet-service-fs_pr.c
   gnunet/src/include/gnunet_datastore_service.h
Log:
adding min_expiration argument to GNUNET_DATASTORE_ContinuationWithStatus 
callback to communicate which content has a chance of being stored in the 
medium term

Modified: gnunet/src/datastore/datastore.h
===================================================================
--- gnunet/src/datastore/datastore.h    2011-12-19 13:45:58 UTC (rev 18685)
+++ gnunet/src/datastore/datastore.h    2011-12-19 13:54:35 UTC (rev 18686)
@@ -72,6 +72,12 @@
    */
   int32_t status GNUNET_PACKED;
 
+  /**
+   * Minimum expiration time required for content to be stored
+   * by the datacache at this time, zero for unknown or no limit.
+   */
+  struct GNUNET_TIME_AbsoluteNBO min_expiration;
+
 };
 
 

Modified: gnunet/src/datastore/datastore_api.c
===================================================================
--- gnunet/src/datastore/datastore_api.c        2011-12-19 13:45:58 UTC (rev 
18685)
+++ gnunet/src/datastore/datastore_api.c        2011-12-19 13:54:35 UTC (rev 
18686)
@@ -697,10 +697,13 @@
  *
  * @param cls closure
  * @param result result
+ * @param min_expiration expiration time
  * @param emsg error message
  */
 static void
-drop_status_cont (void *cls, int32_t result, const char *emsg)
+drop_status_cont (void *cls, int32_t result, 
+                 struct GNUNET_TIME_Absolute min_expiration,
+                 const char *emsg)
 {
   /* do nothing */
 }
@@ -765,6 +768,7 @@
       process_queue (h);
     if (rc.cont != NULL)
       rc.cont (rc.cont_cls, GNUNET_SYSERR,
+              GNUNET_TIME_UNIT_ZERO_ABS,
                _("Failed to receive status response from database."));
     return;
   }
@@ -778,6 +782,7 @@
     do_disconnect (h);
     if (rc.cont != NULL)
       rc.cont (rc.cont_cls, GNUNET_SYSERR,
+              GNUNET_TIME_UNIT_ZERO_ABS,
                _("Error reading response from datastore service"));
     return;
   }
@@ -807,7 +812,9 @@
   h->retry_time.rel_value = 0;
   process_queue (h);
   if (rc.cont != NULL)
-    rc.cont (rc.cont_cls, status, emsg);
+    rc.cont (rc.cont_cls, status, 
+            GNUNET_TIME_absolute_ntoh (sm->min_expiration),
+            emsg);
 }
 
 

Modified: gnunet/src/datastore/perf_datastore_api.c
===================================================================
--- gnunet/src/datastore/perf_datastore_api.c   2011-12-19 13:45:58 UTC (rev 
18685)
+++ gnunet/src/datastore/perf_datastore_api.c   2011-12-19 13:54:35 UTC (rev 
18686)
@@ -111,7 +111,7 @@
 
 
 static void
-check_success (void *cls, int success, const char *msg)
+check_success (void *cls, int success, struct GNUNET_TIME_Absolute 
min_expiration,  const char *msg)
 {
   struct CpsRunContext *crc = cls;
 
@@ -149,10 +149,12 @@
  *
  * @param cls closure
  * @param success GNUNET_SYSERR on failure
+ * @param min_expiration minimum expiration time required for content to be 
stored
+ *                by the datacache at this time, zero for unknown
  * @param msg NULL on success, otherwise an error message
  */
 static void
-remove_next (void *cls, int success, const char *msg)
+remove_next (void *cls, int success, struct GNUNET_TIME_Absolute 
min_expiration, const char *msg)
 {
   struct CpsRunContext *crc = cls;
 
@@ -276,7 +278,7 @@
 
 
 static void
-run_tests (void *cls, int success, const char *msg)
+run_tests (void *cls, int success, struct GNUNET_TIME_Absolute min_expiration, 
const char *msg)
 {
   struct CpsRunContext *crc = cls;
 

Modified: gnunet/src/datastore/test_datastore_api.c
===================================================================
--- gnunet/src/datastore/test_datastore_api.c   2011-12-19 13:45:58 UTC (rev 
18685)
+++ gnunet/src/datastore/test_datastore_api.c   2011-12-19 13:54:35 UTC (rev 
18686)
@@ -139,7 +139,7 @@
 
 
 static void
-check_success (void *cls, int success, const char *msg)
+check_success (void *cls, int success, struct GNUNET_TIME_Absolute 
min_expiration, const char *msg)
 {
   struct CpsRunContext *crc = cls;
 
@@ -158,7 +158,7 @@
 
 
 static void
-get_reserved (void *cls, int success, const char *msg)
+get_reserved (void *cls, int success, struct GNUNET_TIME_Absolute 
min_expiration, const char *msg)
 {
   struct CpsRunContext *crc = cls;
 
@@ -450,7 +450,7 @@
 
 
 static void
-run_tests (void *cls, int32_t success, const char *msg)
+run_tests (void *cls, int32_t success, struct GNUNET_TIME_Absolute 
min_expiration, const char *msg)
 {
   struct CpsRunContext *crc = cls;
 

Modified: gnunet/src/datastore/test_datastore_api_management.c
===================================================================
--- gnunet/src/datastore/test_datastore_api_management.c        2011-12-19 
13:45:58 UTC (rev 18685)
+++ gnunet/src/datastore/test_datastore_api_management.c        2011-12-19 
13:54:35 UTC (rev 18686)
@@ -122,7 +122,7 @@
 
 
 static void
-check_success (void *cls, int success, const char *msg)
+check_success (void *cls, int success, struct GNUNET_TIME_Absolute 
min_expiration, const char *msg)
 {
   struct CpsRunContext *crc = cls;
 
@@ -246,7 +246,7 @@
 
 
 static void
-run_tests (void *cls, int success, const char *msg)
+run_tests (void *cls, int success, struct GNUNET_TIME_Absolute min_expiration, 
const char *msg)
 {
   struct CpsRunContext *crc = cls;
 

Modified: gnunet/src/fs/fs_namespace.c
===================================================================
--- gnunet/src/fs/fs_namespace.c        2011-12-19 13:45:58 UTC (rev 18685)
+++ gnunet/src/fs/fs_namespace.c        2011-12-19 13:54:35 UTC (rev 18686)
@@ -311,10 +311,13 @@
  *
  * @param cls closure (our struct AdvertismentContext)
  * @param success GNUNET_SYSERR on failure
+ * @param min_expiration minimum expiration time required for content to be 
stored
  * @param msg NULL on success, otherwise an error message
  */
 static void
-advertisement_cont (void *cls, int success, const char *msg)
+advertisement_cont (void *cls, int success, 
+                   struct GNUNET_TIME_Absolute min_expiration,
+                   const char *msg)
 {
   struct AdvertisementContext *ac = cls;
   const char *keyword;
@@ -475,7 +478,7 @@
   ctx->ns = namespace;
   ctx->ns->rc++;
   ctx->bo = *bo;
-  advertisement_cont (ctx, GNUNET_OK, NULL);
+  advertisement_cont (ctx, GNUNET_OK, GNUNET_TIME_UNIT_ZERO_ABS, NULL);
 }
 
 
@@ -697,10 +700,13 @@
  *
  * @param cls closure of type "struct PublishSksContext*"
  * @param success GNUNET_OK on success
+ * @param min_expiration minimum expiration time required for content to be 
stored
  * @param msg error message (or NULL)
  */
 static void
-sb_put_cont (void *cls, int success, const char *msg)
+sb_put_cont (void *cls, int success, 
+            struct GNUNET_TIME_Absolute min_expiration,
+            const char *msg)
 {
   struct PublishSksContext *psc = cls;
   GNUNET_HashCode hc;
@@ -867,7 +873,7 @@
   {
     GNUNET_free (sb_enc);
     GNUNET_free (sb);
-    sb_put_cont (psc, GNUNET_OK, NULL);
+    sb_put_cont (psc, GNUNET_OK, GNUNET_TIME_UNIT_ZERO_ABS, NULL);
     return;
   }
   psc->dsh = GNUNET_DATASTORE_connect (h->cfg);
@@ -875,7 +881,7 @@
   {
     GNUNET_free (sb_enc);
     GNUNET_free (sb);
-    sb_put_cont (psc, GNUNET_NO, _("Failed to connect to datastore."));
+    sb_put_cont (psc, GNUNET_NO, GNUNET_TIME_UNIT_ZERO_ABS, _("Failed to 
connect to datastore."));
     return;
   }
   GNUNET_CRYPTO_hash_xor (&sks_uri->data.sks.namespace, &id, &query);

Modified: gnunet/src/fs/fs_publish.c
===================================================================
--- gnunet/src/fs/fs_publish.c  2011-12-19 13:45:58 UTC (rev 18685)
+++ gnunet/src/fs/fs_publish.c  2011-12-19 13:54:35 UTC (rev 18686)
@@ -124,10 +124,13 @@
  *
  * @param cls the 'struct GNUNET_FS_PublishContext'
  * @param success GNUNET_OK on success
+ * @param min_expiration minimum expiration time required for content to be 
stored
  * @param msg error message (or NULL)
  */
 static void
-ds_put_cont (void *cls, int success, const char *msg)
+ds_put_cont (void *cls, int success, 
+            struct GNUNET_TIME_Absolute min_expiration,
+            const char *msg)
 {
   struct GNUNET_FS_PublishContext *pc = cls;
   struct GNUNET_FS_ProgressInfo pi;
@@ -224,10 +227,13 @@
  *
  * @param cls the 'struct GNUNET_FS_PublishContext'
  * @param success success code (not used)
+ * @param min_expiration minimum expiration time required for content to be 
stored
  * @param msg error message (typically NULL, not used)
  */
 static void
-finish_release_reserve (void *cls, int success, const char *msg)
+finish_release_reserve (void *cls, int success, 
+                       struct GNUNET_TIME_Absolute min_expiration,
+                       const char *msg)
 {
   struct GNUNET_FS_PublishContext *pc = cls;
 
@@ -271,7 +277,7 @@
   }
   else
   {
-    finish_release_reserve (pc, GNUNET_OK, NULL);
+    finish_release_reserve (pc, GNUNET_OK, GNUNET_TIME_UNIT_ZERO_ABS, NULL);
   }
 }
 
@@ -1067,10 +1073,13 @@
  *
  * @param cls the 'struct GNUNET_FS_PublishContext*'
  * @param success positive reservation ID on success
+ * @param min_expiration minimum expiration time required for content to be 
stored
  * @param msg error message on error, otherwise NULL
  */
 static void
-finish_reserve (void *cls, int success, const char *msg)
+finish_reserve (void *cls, int success, 
+               struct GNUNET_TIME_Absolute min_expiration,
+               const char *msg)
 {
   struct GNUNET_FS_PublishContext *pc = cls;
 
@@ -1348,10 +1357,13 @@
  *
  * @param cls closure of type "struct PublishKskContext*"
  * @param success GNUNET_OK on success
+ * @param min_expiration minimum expiration time required for content to be 
stored
  * @param msg error message (or NULL)
  */
 static void
-kb_put_cont (void *cls, int success, const char *msg)
+kb_put_cont (void *cls, int success, 
+            struct GNUNET_TIME_Absolute min_expiration,
+            const char *msg)
 {
   struct PublishKskContext *pkc = cls;
 

Modified: gnunet/src/fs/fs_unindex.c
===================================================================
--- gnunet/src/fs/fs_unindex.c  2011-12-19 13:45:58 UTC (rev 18685)
+++ gnunet/src/fs/fs_unindex.c  2011-12-19 13:54:35 UTC (rev 18686)
@@ -144,10 +144,11 @@
  *
  * @param cls closure
  * @param success GNUNET_SYSERR on failure
+ * @param min_expiration minimum expiration time required for content to be 
stored
  * @param msg NULL on success, otherwise an error message
  */
 static void
-process_cont (void *cls, int success, const char *msg)
+process_cont (void *cls, int success, struct GNUNET_TIME_Absolute 
min_expiration, const char *msg)
 {
   struct GNUNET_FS_UnindexContext *uc = cls;
 

Modified: gnunet/src/fs/gnunet-service-fs_indexing.c
===================================================================
--- gnunet/src/fs/gnunet-service-fs_indexing.c  2011-12-19 13:45:58 UTC (rev 
18685)
+++ gnunet/src/fs/gnunet-service-fs_indexing.c  2011-12-19 13:54:35 UTC (rev 
18686)
@@ -477,10 +477,13 @@
  *
  * @param cls unused
  * @param success did the deletion work?
+ * @param min_expiration minimum expiration time required for content to be 
stored
  * @param msg error message
  */
 static void
-remove_cont (void *cls, int success, const char *msg)
+remove_cont (void *cls, int success, 
+            struct GNUNET_TIME_Absolute min_expiration,
+            const char *msg)
 {
   if (GNUNET_OK != success)
     GNUNET_log (GNUNET_ERROR_TYPE_WARNING,

Modified: gnunet/src/fs/gnunet-service-fs_pr.c
===================================================================
--- gnunet/src/fs/gnunet-service-fs_pr.c        2011-12-19 13:45:58 UTC (rev 
18685)
+++ gnunet/src/fs/gnunet-service-fs_pr.c        2011-12-19 13:54:35 UTC (rev 
18686)
@@ -890,18 +890,19 @@
  *
  * @param cls closure
  * @param success GNUNET_SYSERR on failure
+ * @param min_expiration minimum expiration time required for content to be 
stored
  * @param msg NULL on success, otherwise an error message
  */
 static void
-put_migration_continuation (void *cls, int success, const char *msg)
+put_migration_continuation (void *cls, int success, 
+                           struct GNUNET_TIME_Absolute min_expiration,
+                           const char *msg)
 {
   struct PutMigrationContext *pmc = cls;
-  struct GNUNET_TIME_Relative delay;
   struct GNUNET_TIME_Relative block_time;
   struct GSF_ConnectedPeer *cp;
   struct GSF_PeerPerformanceData *ppd;
 
-  delay = GNUNET_TIME_absolute_get_duration (pmc->start);
   cp = GSF_peer_get_ (&pmc->origin);
   if ((GNUNET_OK != success) && (GNUNET_NO == pmc->requested))
   {
@@ -1023,7 +1024,7 @@
                               GNUNET_CONSTANTS_SERVICE_TIMEOUT,
                               &put_migration_continuation, pmc))
     {
-      put_migration_continuation (pmc, GNUNET_NO, NULL);
+      put_migration_continuation (pmc, GNUNET_NO, GNUNET_TIME_UNIT_ZERO_ABS, 
NULL);
     }
   }
 }
@@ -1538,7 +1539,7 @@
                               GNUNET_CONSTANTS_SERVICE_TIMEOUT,
                               &put_migration_continuation, pmc))
     {
-      put_migration_continuation (pmc, GNUNET_NO, NULL);
+      put_migration_continuation (pmc, GNUNET_NO, GNUNET_TIME_UNIT_ZERO_ABS, 
NULL);
     }
   }
   else

Modified: gnunet/src/include/gnunet_datastore_service.h
===================================================================
--- gnunet/src/include/gnunet_datastore_service.h       2011-12-19 13:45:58 UTC 
(rev 18685)
+++ gnunet/src/include/gnunet_datastore_service.h       2011-12-19 13:54:35 UTC 
(rev 18686)
@@ -86,10 +86,13 @@
  * @param success GNUNET_SYSERR on failure (including timeout/queue drop)
  *                GNUNET_NO if content was already there
  *                GNUNET_YES (or other positive value) on success
+ * @param min_expiration minimum expiration time required for content to be 
stored
+ *                by the datacache at this time, zero for unknown
  * @param msg NULL on success, otherwise an error message
  */
 typedef void (*GNUNET_DATASTORE_ContinuationWithStatus) (void *cls,
                                                          int32_t success,
+                                                        struct 
GNUNET_TIME_Absolute min_expiration,
                                                          const char *msg);
 
 




reply via email to

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