XBT_ATTRIB_NORETURN= \
XBT_ATTRIB_UNUSED= \
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(cname,parent,desc)= \
- XBT_ATTRIB_DEPRECATED_v331(mesg)= \
XBT_ATTRIB_DEPRECATED_v332(mesg)= \
XBT_ATTRIB_DEPRECATED_v333(mesg)= \
XBT_ATTRIB_DEPRECATED_v334(mesg)=
XBT_PUBLIC aid_t sg_actor_get_pid(const_sg_actor_t actor);
XBT_PUBLIC aid_t sg_actor_get_ppid(const_sg_actor_t actor);
XBT_PUBLIC sg_actor_t sg_actor_by_pid(aid_t pid);
-#ifndef DOXYGEN
-XBT_ATTRIB_DEPRECATED_v331("Please use sg_actor_get_pid() instead") XBT_PUBLIC aid_t
- sg_actor_get_PID(const_sg_actor_t actor);
-XBT_ATTRIB_DEPRECATED_v331("Please use sg_actor_get_ppid() instead") XBT_PUBLIC aid_t
- sg_actor_get_PPID(const_sg_actor_t actor);
-#endif
-XBT_ATTRIB_DEPRECATED_v331("Please use sg_actor_by_pid() instead") XBT_PUBLIC sg_actor_t sg_actor_by_PID(aid_t pid);
XBT_PUBLIC const char* sg_actor_get_name(const_sg_actor_t actor);
XBT_PUBLIC sg_host_t sg_actor_get_host(const_sg_actor_t actor);
XBT_PUBLIC const char* sg_actor_get_property_value(const_sg_actor_t actor, const char* name);
s4u::NetZone* get_iface() { return &piface_; }
unsigned int get_table_size() const { return vertices_.size(); }
std::vector<kernel::routing::NetPoint*> get_vertices() const { return vertices_; }
- XBT_ATTRIB_DEPRECATED_v331("Please use get_parent()") NetZoneImpl* get_father() const { return parent_; }
NetZoneImpl* get_parent() const { return parent_; }
/** @brief Returns the list of direct children (no grand-children). This returns the internal data, no copy.
* Don't mess with it.*/
*/
Host* seal();
-#ifndef DOXYGEN
- XBT_ATTRIB_DEPRECATED_v331("Please use Comm::sendto()") void sendto(Host* dest, double byte_amount);
- XBT_ATTRIB_DEPRECATED_v331("Please use Comm::sendto_async()") CommPtr sendto_async(Host* dest, double byte_amount);
-#endif
-
NetZone* get_englobing_zone() const;
/** Block the calling actor on an execution located on the called host
*
/** Blocking data reception with timeout */
template <typename T> T* get(double timeout);
template <typename T> std::unique_ptr<T> get_unique(double timeout) { return std::unique_ptr<T>(get<T>(timeout)); }
-
-#ifndef DOXYGEN
- XBT_ATTRIB_DEPRECATED_v331("Please use typed template Mailbox::get_async<>()") CommPtr get_async(void** data);
- XBT_ATTRIB_DEPRECATED_v331("Please use typed template Mailbox::get<>()") void* get();
- XBT_ATTRIB_DEPRECATED_v331("Please use typed template Mailbox::get<>()") void* get(double timeout);
-#endif
};
template <typename T> CommPtr Mailbox::get_async(T** data)
get_async<T>(&res)->wait_for(timeout);
return res;
}
-
-#ifndef DOXYGEN
-inline CommPtr Mailbox::get_async(void** data) // XBT_ATTRIB_DEPRECATED_v331
-{
- return get_async<void>(data);
-}
-inline void* Mailbox::get() // XBT_ATTRIB_DEPRECATED_v331
-{
- return get<void>();
-}
-inline void* Mailbox::get(double timeout) // XBT_ATTRIB_DEPRECATED_v331
-{
- return get<void>(timeout);
-}
-#endif
} // namespace s4u
} // namespace simgrid
kernel::routing::NetPoint* get_netpoint();
#ifndef DOXYGEN
- XBT_ATTRIB_DEPRECATED_v331("Please use get_parent()") NetZone* get_father() const;
XBT_ATTRIB_DEPRECATED_v332("Please use set_parent() to manage NetZone's relationship") NetZone* add_child(
NetZone* new_zone);
#endif
/******************************* Networking ***********************************/
SG_BEGIN_DECL
-XBT_ATTRIB_DEPRECATED_v331("Please use sg_actor_by_pid() instead.") XBT_PUBLIC smx_actor_t
- SIMIX_process_from_PID(aid_t pid);
-
/* parallelism */
XBT_ATTRIB_DEPRECATED_v333("Please use kernel::context::is_parallel()") XBT_PUBLIC int SIMIX_context_is_parallel();
XBT_ATTRIB_DEPRECATED_v333("Please use kernel::context::get_nthreads()") XBT_PUBLIC int SIMIX_context_get_nthreads();
/* They can also be called from maestro's context, and they are thread safe. */
/******************************************************************************/
-/******************************* Host simcalls ********************************/
-#ifdef __cplusplus
-XBT_ATTRIB_DEPRECATED_v331("Please use s4u::Exec::wait_any_for()") XBT_PUBLIC
- unsigned int simcall_execution_waitany_for(simgrid::kernel::activity::ExecImpl* execs[], size_t count,
- double timeout);
-#endif
-
/************************** Communication simcalls ****************************/
#ifdef __cplusplus
XBT_PUBLIC ssize_t simcall_comm_testany(simgrid::kernel::activity::CommImpl* comms[], size_t count);
#endif
-
-/************************** Synchro simcalls **********************************/
-SG_BEGIN_DECL
-XBT_ATTRIB_DEPRECATED_v331("Please use sg_mutex_lock()") XBT_PUBLIC void simcall_mutex_lock(smx_mutex_t mutex);
-XBT_ATTRIB_DEPRECATED_v331("Please use sg_mutex_try_lock()") XBT_PUBLIC int simcall_mutex_trylock(smx_mutex_t mutex);
-XBT_ATTRIB_DEPRECATED_v331("Please use sg_mutex_unlock()") XBT_PUBLIC void simcall_mutex_unlock(smx_mutex_t mutex);
-
-XBT_ATTRIB_DEPRECATED_v331("Please use sg_cond_wait()") XBT_PUBLIC
- void simcall_cond_wait(smx_cond_t cond, smx_mutex_t mutex);
-XBT_ATTRIB_DEPRECATED_v331("Please use sg_cond_wait_for()") XBT_PUBLIC
- int simcall_cond_wait_timeout(smx_cond_t cond, smx_mutex_t mutex, double max_duration);
-
-XBT_ATTRIB_DEPRECATED_v331("Please use sg_sem_acquire()") XBT_PUBLIC void simcall_sem_acquire(smx_sem_t sem);
-XBT_ATTRIB_DEPRECATED_v331("Please use sg_sem_acquire_timeout()") XBT_PUBLIC
- int simcall_sem_acquire_timeout(smx_sem_t sem, double max_duration);
-SG_END_DECL
-
-/************************** MC simcalls **********************************/
-SG_BEGIN_DECL
-XBT_ATTRIB_DEPRECATED_v331("Please use MC_random()") XBT_PUBLIC int simcall_mc_random(int min, int max);
-SG_END_DECL
-
#endif
#define XBT_ATTRIB_DEPRECATED(mesg) __attribute__((deprecated(mesg)))
#endif
-#define XBT_ATTRIB_DEPRECATED_v331(mesg) \
- XBT_ATTRIB_DEPRECATED(mesg " (this compatibility wrapper will be dropped after v3.30)")
#define XBT_ATTRIB_DEPRECATED_v332(mesg) \
XBT_ATTRIB_DEPRECATED(mesg " (this compatibility wrapper will be dropped after v3.31)")
#define XBT_ATTRIB_DEPRECATED_v333(mesg) \
XBT_PUBLIC int xbt_dynar_member(const_xbt_dynar_t dynar, const void* elem);
XBT_PUBLIC void xbt_dynar_sort(const_xbt_dynar_t dynar, int_f_cpvoid_cpvoid_t compar_fn);
-XBT_ATTRIB_DEPRECATED_v331("This function will be removed") XBT_PUBLIC void* xbt_dynar_to_array(xbt_dynar_t dynar);
/* Dynar size */
XBT_PUBLIC void xbt_dynar_reset(xbt_dynar_t dynar);
return simgrid::s4u::Actor::is_maestro() ? "maestro" : simgrid::kernel::actor::ActorImpl::self()->get_cname();
}
-/** @brief Returns the process from PID. */
-smx_actor_t SIMIX_process_from_PID(aid_t pid) // XBT_ATTRIB_DEPRECATED_v331
-{
- return simgrid::kernel::actor::ActorImpl::by_pid(pid);
-}
-
int SIMIX_is_maestro() // XBT_ATTRIB_DEPRECATED_v333
{
const auto* self = simgrid::kernel::actor::ActorImpl::self();
return simgrid::s4u::Actor::by_pid(pid).get();
}
-aid_t sg_actor_get_PID(const_sg_actor_t actor) // XBT_ATTRIB_DEPRECATED_v331
-{
- return sg_actor_get_pid(actor);
-}
-
-aid_t sg_actor_get_PPID(const_sg_actor_t actor) // XBT_ATTRIB_DEPRECATED_v331
-{
- return sg_actor_get_ppid(actor);
-}
-
-sg_actor_t sg_actor_by_PID(aid_t pid) // XBT_ATTRIB_DEPRECATED_v331
-{
- return sg_actor_by_pid(pid);
-}
-
/** @brief Return the name of an actor. */
const char* sg_actor_get_name(const_sg_actor_t actor)
{
return pimpl_netpoint_->get_englobing_zone()->get_iface();
}
-#ifndef DOXYGEN
-void Host::sendto(Host* dest, double byte_amount) // XBT_ATTRIB_DEPRECATED_v331
-{
- Comm::sendto_async(this, dest, byte_amount)->wait();
-}
-
-CommPtr Host::sendto_async(Host* dest, double byte_amount) // XBT_ATTRIB_DEPRECATED_v331
-{
- return Comm::sendto_async(this, dest, byte_amount);
-}
-#endif
-
/** Get the properties assigned to a host */
const std::unordered_map<std::string, std::string>* Host::get_properties() const
{
return pimpl_->get_cname();
}
-NetZone* NetZone::get_father() const // XBT_ATTRIB_DEPRECATED_v331
-{
- return pimpl_->get_parent()->get_iface();
-}
-
NetZone* NetZone::get_parent() const
{
return pimpl_->get_parent()->get_iface();
#include <string>
#include <typeinfo>
-unsigned int simcall_execution_waitany_for(simgrid::kernel::activity::ExecImpl* execs[], size_t count,
- double timeout) // XBT_ATTRIB_DEPRECATED_v331
-{
- std::vector<simgrid::kernel::activity::ExecImpl*> execs_vec(execs, execs + count);
- simgrid::kernel::actor::ActorImpl* issuer = simgrid::kernel::actor::ActorImpl::self();
- simgrid::kernel::actor::ExecutionWaitanySimcall observer{issuer, execs_vec, timeout};
- return simgrid::kernel::actor::simcall_blocking(
- [&observer] {
- simgrid::kernel::activity::ExecImpl::wait_any_for(observer.get_issuer(), observer.get_execs(),
- observer.get_timeout());
- },
- &observer);
-}
-
/**
* @ingroup simix_comm_management
*/
return simcall_BODY_comm_test(static_cast<simgrid::kernel::activity::CommImpl*>(comm));
}
-/**
- * @ingroup simix_synchro_management
- *
- */
-void simcall_mutex_lock(smx_mutex_t mutex) // XBT_ATTRIB_DEPRECATD_v331
-{
- mutex->mutex().lock();
-}
-
-/**
- * @ingroup simix_synchro_management
- *
- */
-int simcall_mutex_trylock(smx_mutex_t mutex) // XBT_ATTRIB_DEPRECATD_v331
-{
- return mutex->mutex().try_lock();
-}
-
-/**
- * @ingroup simix_synchro_management
- *
- */
-void simcall_mutex_unlock(smx_mutex_t mutex) // XBT_ATTRIB_DEPRECATD_v331
-{
- mutex->mutex().unlock();
-}
-
-/**
- * @ingroup simix_synchro_management
- *
- */
-void simcall_cond_wait(smx_cond_t cond, smx_mutex_t mutex) // XBT_ATTRIB_DEPRECATED_v331
-{
- cond->get_iface()->wait(std::unique_lock<simgrid::s4u::Mutex>(mutex->mutex()));
-}
-
-/**
- * @ingroup simix_synchro_management
- *
- */
-int simcall_cond_wait_timeout(smx_cond_t cond, smx_mutex_t mutex, double timeout) // XBT_ATTRIB_DEPRECATD_v331
-{
- return cond->get_iface()->wait_for(std::unique_lock<simgrid::s4u::Mutex>(mutex->mutex()), timeout) ==
- std::cv_status::timeout;
-}
-
-/**
- * @ingroup simix_synchro_management
- *
- */
-void simcall_sem_acquire(smx_sem_t sem) // XBT_ATTRIB_DEPRECATD_v331
-{
- return sem->sem().acquire();
-}
-
-/**
- * @ingroup simix_synchro_management
- *
- */
-int simcall_sem_acquire_timeout(smx_sem_t sem, double timeout) // XBT_ATTRIB_DEPRECATD_v331
-{
- return sem->sem().acquire_timeout(timeout);
-}
-
void simcall_run_kernel(std::function<void()> const& code, simgrid::kernel::actor::SimcallObserver* observer)
{
simgrid::kernel::actor::ActorImpl::self()->simcall_.observer_ = observer;
simgrid::kernel::actor::ActorImpl::self()->simcall_.observer_ = nullptr;
}
-int simcall_mc_random(int min, int max) // XBT_ATTRIB_DEPRECATD_v331
-{
- return MC_random(min, max);
-}
-
/* ************************************************************************** */
/** @brief returns a printable string representing a simcall */
if (dynar->data != nullptr)
qsort(dynar->data, dynar->used, dynar->elmsize, compar_fn);
}
-
-/** @brief Transform a dynar into a nullptr terminated array.
- *
- * @param dynar the dynar to transform
- * @return pointer to the first element of the array
- *
- * Note: The dynar won't be usable afterwards.
- */
-void* xbt_dynar_to_array(xbt_dynar_t dynar) // XBT_ATTRIB_DEPRECATED_v331
-{
- void* res;
- xbt_dynar_shrink(dynar, 1);
- memset(xbt_dynar_push_ptr(dynar), 0, dynar->elmsize);
- res = dynar->data;
- xbt_free(dynar);
- return res;
-}