Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines for 2023.
[simgrid.git] / include / simgrid / msg.h
index 33ab45c..4ff7f67 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2004-2020. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2004-2023. 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. */
@@ -16,7 +16,6 @@
 #include <simgrid/mutex.h>
 #include <simgrid/plugins/live_migration.h>
 #include <simgrid/semaphore.h>
-#include <simgrid/storage.h>
 #include <simgrid/version.h>
 #include <simgrid/vm.h>
 #include <simgrid/zone.h>
 #endif
 
 #ifdef __cplusplus
-#include <map>
-#include <simgrid/simix.h>
 namespace simgrid {
 namespace msg {
 class Comm;
 class Task;
 }
 }
-typedef simgrid::msg::Comm sg_msg_Comm;
-typedef simgrid::msg::Task sg_msg_Task;
+using sg_msg_Comm = simgrid::msg::Comm;
+using sg_msg_Task = simgrid::msg::Task;
 #else
 typedef struct msg_Comm sg_msg_Comm;
 typedef struct msg_Task sg_msg_Task;
@@ -90,12 +87,6 @@ XBT_PUBLIC sg_host_t MSG_host_by_name(const char* name);
 
 /** @brief Returns the amount of host found in the platform */
 XBT_PUBLIC size_t MSG_get_host_number();
-/** @brief Returns a dynar with all existing hosts
- *
- * The host order in the returned array is generally different from the host creation/declaration order in the XML
- * platform (we use a hash table internally).
- */
-XBT_ATTRIB_DEPRECATED_v330("Please use sg_host_list()") XBT_PUBLIC xbt_dynar_t MSG_hosts_as_dynar();
 
 /** @brief Returns the name of this host */
 XBT_PUBLIC const char* MSG_host_get_name(const_sg_host_t host);
@@ -104,10 +95,6 @@ XBT_PUBLIC void* MSG_host_get_data(const_sg_host_t host);
 /** @brief Sets the user data of this host */
 XBT_PUBLIC void MSG_host_set_data(sg_host_t host, void* data);
 
-XBT_ATTRIB_DEPRECATED_v330("This function will be removed. Speak up if you need it.") XBT_PUBLIC xbt_dict_t
-    MSG_host_get_mounted_storage_list(sg_host_t host);
-
-XBT_PUBLIC xbt_dynar_t MSG_host_get_attached_storage_lists(const_sg_host_t host);
 XBT_PUBLIC double MSG_host_get_speed(const_sg_host_t host);
 XBT_PUBLIC double MSG_host_get_power_peak_at(const_sg_host_t host, int pstate_index);
 XBT_PUBLIC int MSG_host_get_core_number(const_sg_host_t host);
@@ -146,9 +133,9 @@ typedef sg_vm_t msg_vm_t;
 XBT_PUBLIC msg_vm_t MSG_vm_create_core(msg_host_t pm, const char* name);
 XBT_PUBLIC msg_vm_t MSG_vm_create_multicore(msg_host_t pm, const char* name, int coreAmount);
 
-XBT_PUBLIC int MSG_vm_is_created(msg_vm_t vm);
-XBT_PUBLIC int MSG_vm_is_running(msg_vm_t vm);
-XBT_PUBLIC int MSG_vm_is_suspended(msg_vm_t vm);
+XBT_PUBLIC int MSG_vm_is_created(const_sg_vm_t vm);
+XBT_PUBLIC int MSG_vm_is_running(const_sg_vm_t vm);
+XBT_PUBLIC int MSG_vm_is_suspended(const_sg_vm_t vm);
 
 XBT_PUBLIC const char* MSG_vm_get_name(const_sg_vm_t vm);
 XBT_PUBLIC void MSG_vm_set_ramsize(msg_vm_t vm, size_t size);
@@ -162,21 +149,6 @@ XBT_PUBLIC void MSG_vm_resume(msg_vm_t vm);
 XBT_PUBLIC void MSG_vm_shutdown(msg_vm_t vm);
 XBT_PUBLIC void MSG_vm_destroy(msg_vm_t vm);
 
-/* ******************************** Storage ********************************* */
-typedef sg_storage_t msg_storage_t;
-
-XBT_PUBLIC const char* MSG_storage_get_name(const_sg_storage_t storage);
-XBT_PUBLIC msg_storage_t MSG_storage_get_by_name(const char* name);
-XBT_PUBLIC xbt_dict_t MSG_storage_get_properties(const_sg_storage_t storage);
-XBT_PUBLIC void MSG_storage_set_property_value(msg_storage_t storage, const char* name, const char* value);
-XBT_PUBLIC const char* MSG_storage_get_property_value(const_sg_storage_t storage, const char* name);
-XBT_PUBLIC xbt_dynar_t MSG_storages_as_dynar();
-XBT_PUBLIC void MSG_storage_set_data(msg_storage_t storage, void* data);
-XBT_PUBLIC void* MSG_storage_get_data(const_sg_storage_t storage);
-XBT_PUBLIC const char* MSG_storage_get_host(const_sg_storage_t storage);
-XBT_PUBLIC sg_size_t MSG_storage_read(msg_storage_t storage, sg_size_t size);
-XBT_PUBLIC sg_size_t MSG_storage_write(msg_storage_t storage, sg_size_t size);
-
 /* ******************************** Actor/process *************************** */
 /** Processes are independent agents that can do stuff on their own.
  *  They are in charge of executing your code interacting with the simulated world.
@@ -223,7 +195,7 @@ XBT_PUBLIC void MSG_process_migrate(msg_process_t process, msg_host_t host);
  * @param process the process to wait for
  * @param timeout wait until the process is over, or the timeout occurs
  */
-XBT_PUBLIC void MSG_process_join(msg_process_t process, double timeout);
+XBT_PUBLIC void MSG_process_join(const_sg_actor_t process, double timeout);
 /** @brief Kills a process */
 XBT_PUBLIC void MSG_process_kill(msg_process_t process);
 /** @brief Kill all running process */
@@ -243,9 +215,9 @@ XBT_PUBLIC void MSG_process_unref(const_sg_actor_t process);
 
 /** @brief Object representing an ongoing communication between processes.
  *
- * \rst
+ * @beginrst
  * Such beast is usually obtained by using :cpp:func:`MSG_task_isend`, :cpp:func:`MSG_task_irecv` or friends.
- * \endrst
+ * @endrst
  */
 typedef sg_msg_Comm* msg_comm_t;
 typedef const sg_msg_Comm* const_msg_comm_t;
@@ -318,12 +290,6 @@ XBT_PUBLIC void MSG_create_environment(const char* file);
 /** @brief Creates the application described in the provided file */
 XBT_PUBLIC void MSG_launch_application(const char* file);
 
-#ifndef DOXYGEN
-/** @brief register functions bypassing the parser */
-XBT_ATTRIB_DEPRECATED_v329("This function will be removed. Speak up if you need it.") XBT_PUBLIC
-    void MSG_set_function(const char* host_id, const char* function_name, xbt_dynar_t arguments);
-#endif
-
 /** @brief A clock (in second). */
 XBT_PUBLIC double MSG_get_clock();
 /** @brief Returns the amount of messages sent since the simulation start */
@@ -341,8 +307,6 @@ XBT_PUBLIC msg_process_t MSG_process_attach(const char* name, void* data, msg_ho
 XBT_PUBLIC void MSG_process_detach();
 
 XBT_PUBLIC void MSG_process_set_data_cleanup(void_f_pvoid_t data_cleanup);
-XBT_ATTRIB_DEPRECATED_v330("Please use sg_actor_list()") XBT_PUBLIC xbt_dynar_t MSG_processes_as_dynar();
-XBT_ATTRIB_DEPRECATED_v330("Please use sg_actor_count()") XBT_PUBLIC int MSG_process_get_number();
 
 XBT_PUBLIC void* MSG_process_get_data(const_sg_actor_t process);
 XBT_PUBLIC msg_error_t MSG_process_set_data(msg_process_t process, void* data);
@@ -435,16 +399,16 @@ XBT_PUBLIC msg_sem_t MSG_sem_init(int initial_value);
 XBT_PUBLIC void MSG_sem_acquire(msg_sem_t sem);
 XBT_PUBLIC int MSG_sem_acquire_timeout(msg_sem_t sem, double timeout);
 XBT_PUBLIC void MSG_sem_release(msg_sem_t sem);
-XBT_PUBLIC int MSG_sem_get_capacity(msg_sem_t sem);
+XBT_PUBLIC int MSG_sem_get_capacity(const_sg_sem_t sem);
 XBT_PUBLIC void MSG_sem_destroy(const_sg_sem_t sem);
-XBT_PUBLIC int MSG_sem_would_block(msg_sem_t sem);
+XBT_PUBLIC int MSG_sem_would_block(const_sg_sem_t sem);
 
 /** @brief Opaque type representing a barrier identifier */
 typedef sg_bar_t msg_bar_t;
 /** @brief Initializes a barrier, with count elements */
 XBT_PUBLIC msg_bar_t MSG_barrier_init(unsigned int count);
 /** @brief Destroys barrier */
-XBT_PUBLIC void MSG_barrier_destroy(const_sg_bar_t bar);
+XBT_PUBLIC void MSG_barrier_destroy(sg_bar_t bar);
 /** @brief Performs a barrier already initialized */
 XBT_PUBLIC int MSG_barrier_wait(msg_bar_t bar);