tolerate additional IPv4 address now available for gnunet.org
[oweals/gnunet.git] / src / fs / gnunet-service-fs_indexing.h
index a2cc4a8005ca728d8931323a7e8d82fa6042264c..d6166f0a9040b2a9cc1389cb11124e2e2056acbc 100644 (file)
@@ -2,20 +2,20 @@
      This file is part of GNUnet.
      Copyright (C) 2009, 2010, 2011 GNUnet e.V.
 
-     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 3, or (at your
-     option) any later version.
+     GNUnet is free software: you can redistribute it and/or modify it
+     under the terms of the GNU Affero General Public License as published
+     by the Free Software Foundation, either version 3 of the License,
+     or (at your option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
      WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-     General Public License for more details.
+     Affero General Public License for more details.
+    
+     You should have received a copy of the GNU Affero General Public License
+     along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-     You should have received a copy of the GNU General Public License
-     along with GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-     Boston, MA 02110-1301, USA.
+     SPDX-License-Identifier: AGPL3.0-or-later
 */
 
 /**
  * @param type type of the content
  * @param priority priority of the content
  * @param anonymity anonymity-level for the content
+ * @param replication replication-level for the content
  * @param expiration expiration time for the content
  * @param uid unique identifier for the datum;
  *        maybe 0 if no unique identifier is available
  * @param cont function to call with the actual block (at most once, on success)
- * @param cont_cls closure for cont
- * @return GNUNET_OK on success
+ * @param cont_cls closure for @a cont
+ * @return #GNUNET_OK on success
  */
 int
-GNUNET_FS_handle_on_demand_block (const struct GNUNET_HashCode * key, uint32_t size,
-                                  const void *data, enum GNUNET_BLOCK_Type type,
-                                  uint32_t priority, uint32_t anonymity,
+GNUNET_FS_handle_on_demand_block (const struct GNUNET_HashCode *key,
+                                  uint32_t size,
+                                  const void *data,
+                                  enum GNUNET_BLOCK_Type type,
+                                  uint32_t priority,
+                                  uint32_t anonymity,
+                                  uint32_t replication,
                                   struct GNUNET_TIME_Absolute expiration,
                                   uint64_t uid,
                                   GNUNET_DATASTORE_DatumProcessor cont,
                                   void *cont_cls);
 
+
 /**
- * Handle INDEX_START-message.
+ * Transmit information about indexed files to @a mq.
  *
- * @param cls closure
- * @param client identification of the client
- * @param message the actual message
+ * @param mq message queue to send information to
  */
 void
-GNUNET_FS_handle_index_start (void *cls, struct GNUNET_SERVER_Client *client,
-                              const struct GNUNET_MessageHeader *message);
+GNUNET_FS_indexing_send_list (struct GNUNET_MQ_Handle *mq);
 
 
 /**
- * Handle INDEX_LIST_GET-message.
+ * Remove a file from the index.
  *
- * @param cls closure
- * @param client identification of the client
- * @param message the actual message
+ * @param fid identifier of the file to remove
+ * @return #GNUNET_YES if the @a fid was found
  */
-void
-GNUNET_FS_handle_index_list_get (void *cls, struct GNUNET_SERVER_Client *client,
-                                 const struct GNUNET_MessageHeader *message);
+int
+GNUNET_FS_indexing_do_unindex (const struct GNUNET_HashCode *fid);
 
 
 /**
- * Handle UNINDEX-message.
+ * Add the given file to the list of indexed files.
  *
- * @param cls closure
- * @param client identification of the client
- * @param message the actual message
+ * @param filename name of the file
+ * @param file_id hash identifier for @a filename
  */
 void
-GNUNET_FS_handle_unindex (void *cls, struct GNUNET_SERVER_Client *client,
-                          const struct GNUNET_MessageHeader *message);
+GNUNET_FS_add_to_index (const char *filename,
+                        const struct GNUNET_HashCode *file_id);
 
 
 /**