X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b511b8e4a7d720584d9d9a72b874709869bc10d0..76583d80b116f084836e915c1905fb3022699168:/include/amok/peermanagement.h diff --git a/include/amok/peermanagement.h b/include/amok/peermanagement.h index ba80b4da43..0b3e8c63bc 100644 --- a/include/amok/peermanagement.h +++ b/include/amok/peermanagement.h @@ -1,8 +1,7 @@ -/* $Id$ */ - /* amok peer management - servers main loop and remote peer stopping */ -/* Copyright (c) 2006 Martin Quinson. All rights reserved. */ +/* Copyright (c) 2006, 2007, 2008, 2009, 2010. The SimGrid Team. + * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -11,9 +10,8 @@ #define AMOK_PEER_MANAGEMENT_H #include -#include -/** \addtogroup AMOK_hm +/** \addtogroup AMOK_pm * \brief Managing remote servers * * This module provide the main loop of servers designed to answer to @@ -29,12 +27,12 @@ * - declaring the messages (with gras_msgtype_declare() or gras_msgtype_declare_rpc()) * - attaching the right callbacks to the messages (with gras_cb_register()) * - declaring the right repetitive actions (see \ref GRAS_timer) - * - joining the group (with amok_hm_group_join(), so that the master now it) - * - entering the endless loop (with amok_hm_mainloop()). + * - joining the group (with amok_pm_group_join(), so that the master now it) + * - entering the endless loop (with amok_pm_mainloop()). * The master, on its side, should create declare the datatypes and * messages just like slaves. It should then create a group with - * amok_hm_group_new(). + * amok_pm_group_new(). * Afterward, there is two solutions. * - If your master is a deamon which never stops itself (just like regular UNIX daemons), it should: @@ -43,32 +41,43 @@ * - entering the main loop. * - If the master is not a deamon, it should: * - wait a moment for the slaves registration (using gras_msg_handleall()) - * - run its algorithm. For this, it may call RPC on slaves, or explicitely wait (with gras_msg_wait()) for the answers it expects. + * - run its algoritpm. For this, it may call RPC on slaves, or explicitely wait (with gras_msg_wait()) for the answers it expects. - * + * \section AMOK_pm_compat Compatibility issues + * + * The API described here is as of SimGrid 3.2 and higher. In version 3.1 + * (where this module were introduced), all functions were named amok_hm_* + * This was because the module used to be named HostManagement, but it was + * renamed before being released to betterly express its purpose. + * Unfortunately, the rename was not done properly before version 3.2. + * * @{ */ /* module handling */ -void amok_hm_init(void); -void amok_hm_exit(void); +XBT_PUBLIC(void) amok_pm_init(void); +XBT_PUBLIC(void) amok_pm_exit(void); -void amok_hm_mainloop(double timeOut); +XBT_PUBLIC(void) amok_pm_mainloop(double timeOut); -void amok_hm_kill_hp(char *name,int port); -void amok_hm_kill(gras_socket_t buddy); -void amok_hm_kill_sync(gras_socket_t buddy); +XBT_PUBLIC(void) amok_pm_kill_hp(char *name, int port); +XBT_PUBLIC(void) amok_pm_kill(gras_socket_t buddy); +XBT_PUBLIC(void) amok_pm_kill_sync(gras_socket_t buddy); -xbt_dynar_t amok_hm_group_new(const char *group_name); -xbt_dynar_t amok_hm_group_get(gras_socket_t master, const char *group_name); +XBT_PUBLIC(xbt_dynar_t) amok_pm_group_new(const char *group_name); +XBT_PUBLIC(xbt_dynar_t) amok_pm_group_get(gras_socket_t master, + const char *group_name); -void amok_hm_group_join(gras_socket_t master, const char *group_name); -void amok_hm_group_leave(gras_socket_t master, const char *group_name); +XBT_PUBLIC(int) amok_pm_group_join(gras_socket_t master, + const char *group_name); +XBT_PUBLIC(void) amok_pm_group_leave(gras_socket_t master, + const char *group_name); -void amok_hm_group_shutdown(const char *group_name); -void amok_hm_group_shutdown_remote(gras_socket_t master, const char *group_name); +XBT_PUBLIC(void) amok_pm_group_shutdown(const char *group_name); +XBT_PUBLIC(void) amok_pm_group_shutdown_remote(gras_socket_t master, + const char *group_name); /** @} */ -#endif /* AMOK_peer_MANAGEMENT_H */ +#endif /* AMOK_peer_MANAGEMENT_H */