GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 2, or (at your
+ by the Free Software Foundation; either version 3, or (at your
option) any later version.
GNUnet is distributed in the hope that it will be useful, but
*/
struct GNUNET_FS_FileInformation *fi_pos;
+ /**
+ * Non-null if we are currently hashing a file.
+ */
+ struct GNUNET_CRYPTO_FileHashContext *fhc;
+
/**
* Connection to the datastore service.
*/
struct GNUNET_DATASTORE_Handle *dsh;
+ /**
+ * Queue entry for reservation/unreservation.
+ */
+ struct GNUNET_DATASTORE_QueueEntry *qre;
+
/**
* ID of the task performing the upload. NO_TASK if the upload has
* completed.
*/
GNUNET_SCHEDULER_TaskIdentifier upload_task;
+ /**
+ * Storage space to reserve for the operation.
+ */
+ uint64_t reserve_space;
+
+ /**
+ * Overall number of entries to reserve for the
+ * publish operation.
+ */
+ uint32_t reserve_entries;
+
/**
* Typically GNUNET_NO. Set to GNUNET_YES if "upload_task" is
* GNUNET_SCHEDULER_NO_TASK and we're waiting for a response from
*/
int has_finished;
+ /**
+ * Have we tried (and failed) to find matching full
+ * data from the meta data yet?
+ */
+ int tried_full_data;
};
struct GNUNET_FS_Namespace