gnunet-service-testbed_barriers.h 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /*
  2. This file is part of GNUnet.
  3. (C) 2008--2013 Christian Grothoff (and other contributing authors)
  4. GNUnet is free software; you can redistribute it and/or modify
  5. it under the terms of the GNU General Public License as published
  6. by the Free Software Foundation; either version 3, or (at your
  7. 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. General Public License for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with GNUnet; see the file COPYING. If not, write to the
  14. Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  15. Boston, MA 02111-1307, USA.
  16. */
  17. /**
  18. * @file testbed/gnunet-service-testbed_barriers.h
  19. * @brief Interface for the barrier initialisation handler routine
  20. * @author Sree Harsha Totakura <sreeharsha@totakura.in>
  21. */
  22. #ifndef GNUNET_SERVER_TESTBED_BARRIERS_H_
  23. #define GNUNET_SERVER_TESTBED_BARRIERS_H_
  24. /**
  25. * Function to initialise barrriers component
  26. *
  27. * @param cfg the configuration to use for initialisation
  28. */
  29. void
  30. GST_barriers_init (struct GNUNET_CONFIGURATION_Handle *cfg);
  31. /**
  32. * Function to stop the barrier service
  33. */
  34. void
  35. GST_barriers_destroy ();
  36. /**
  37. * Message handler for GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_INIT messages. This
  38. * message should always come from a parent controller or the testbed API if we
  39. * are the root controller.
  40. *
  41. * This handler is queued in the main service and will handle the messages sent
  42. * either from the testbed driver or from a high level controller
  43. *
  44. * @param cls NULL
  45. * @param client identification of the client
  46. * @param message the actual message
  47. */
  48. void
  49. GST_handle_barrier_init (void *cls, struct GNUNET_SERVER_Client *client,
  50. const struct GNUNET_MessageHeader *message);
  51. /**
  52. * Message handler for GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_CANCEL messages. This
  53. * message should always come from a parent controller or the testbed API if we
  54. * are the root controller.
  55. *
  56. * This handler is queued in the main service and will handle the messages sent
  57. * either from the testbed driver or from a high level controller
  58. *
  59. * @param cls NULL
  60. * @param client identification of the client
  61. * @param message the actual message
  62. */
  63. void
  64. GST_handle_barrier_cancel (void *cls, struct GNUNET_SERVER_Client *client,
  65. const struct GNUNET_MessageHeader *message);
  66. /**
  67. * Message handler for GNUNET_MESSAGE_TYPE_TESTBED_BARRIER_STATUS messages.
  68. * This handler is queued in the main service and will handle the messages sent
  69. * either from the testbed driver or from a high level controller
  70. *
  71. * @param cls NULL
  72. * @param client identification of the client
  73. * @param message the actual message
  74. */
  75. void
  76. GST_handle_barrier_status (void *cls, struct GNUNET_SERVER_Client *client,
  77. const struct GNUNET_MessageHeader *message);
  78. #endif /* GNUNET_SERVER_TESTBED_BARRIERS_H_ */
  79. /* end of gnunet-service-testbed_barriers.h */