gnunet-service-fs_push.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. This file is part of GNUnet.
  3. Copyright (C) 2011 GNUnet e.V.
  4. GNUnet is free software: you can redistribute it and/or modify it
  5. under the terms of the GNU Affero General Public License as published
  6. by the Free Software Foundation, either version 3 of the License,
  7. or (at your option) any later version.
  8. GNUnet is distributed in the hope that it will be useful, but
  9. WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  11. Affero General Public License for more details.
  12. You should have received a copy of the GNU Affero General Public License
  13. along with this program. If not, see <http://www.gnu.org/licenses/>.
  14. SPDX-License-Identifier: AGPL3.0-or-later
  15. */
  16. /**
  17. * @file fs/gnunet-service-fs_push.h
  18. * @brief support for pushing out content
  19. * @author Christian Grothoff
  20. */
  21. #ifndef GNUNET_SERVICE_FS_PUSH_H
  22. #define GNUNET_SERVICE_FS_PUSH_H
  23. #include "gnunet-service-fs.h"
  24. /**
  25. * Setup the module.
  26. */
  27. void
  28. GSF_push_init_ (void);
  29. /**
  30. * Shutdown the module.
  31. */
  32. void
  33. GSF_push_done_ (void);
  34. /**
  35. * A peer connected to us or we are now again allowed to push content.
  36. * Start pushing content to this peer.
  37. *
  38. * @param peer handle for the peer that connected
  39. */
  40. void
  41. GSF_push_start_ (struct GSF_ConnectedPeer *peer);
  42. /**
  43. * A peer disconnected from us or asked us to stop pushing content for
  44. * a while. Stop pushing content to this peer.
  45. *
  46. * @param peer handle for the peer that disconnected
  47. */
  48. void
  49. GSF_push_stop_ (struct GSF_ConnectedPeer *peer);
  50. #endif