Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simplify calls to CommImpl::isend and CommImpl::irecv
[simgrid.git] / src / kernel / activity / CommImpl.hpp
index 5b131f0..8e5ea13 100644 (file)
@@ -8,6 +8,7 @@
 
 #include "src/kernel/activity/ActivityImpl.hpp"
 #include "src/kernel/actor/ActorImpl.hpp"
+#include "src/kernel/actor/SimcallObserver.hpp"
 
 namespace simgrid {
 namespace kernel {
@@ -49,15 +50,8 @@ public:
   std::vector<s4u::Link*> get_traversed_links() const;
   void copy_data();
 
-  static ActivityImplPtr
-  isend(actor::ActorImpl* src, MailboxImpl* mbox, double task_size, double rate, unsigned char* src_buff,
-        size_t src_buff_size, bool (*match_fun)(void*, void*, CommImpl*),
-        void (*clean_fun)(void*), // used to free the synchro in case of problem after a detached send
-        void (*copy_data_fun)(CommImpl*, void*, size_t), // used to copy data if not default one
-        void* data, bool detached);
-  static ActivityImplPtr irecv(actor::ActorImpl* receiver, MailboxImpl* mbox, unsigned char* dst_buff,
-                               size_t* dst_buff_size, bool (*match_fun)(void*, void*, CommImpl*),
-                               void (*copy_data_fun)(CommImpl*, void*, size_t), void* data, double rate);
+  static ActivityImplPtr isend(actor::CommIsendSimcall* observer);
+  static ActivityImplPtr irecv(actor::CommIrecvSimcall* observer);
 
   bool test(actor::ActorImpl* issuer) override;
   void wait_for(actor::ActorImpl* issuer, double timeout) override;