Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Make mailbox matching functions return a bool.
[simgrid.git] / src / kernel / activity / MailboxImpl.hpp
index 29b561c..5cb5a9f 100644 (file)
@@ -3,8 +3,8 @@
 /* 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. */
 
-#ifndef SIMIX_MAILBOXIMPL_H
-#define SIMIX_MAILBOXIMPL_H
+#ifndef SIMGRID_KERNEL_ACTIVITY_MAILBOX_HPP
+#define SIMGRID_KERNEL_ACTIVITY_MAILBOX_HPP
 
 #include <boost/circular_buffer.hpp>
 #include <xbt/string.hpp>
@@ -22,6 +22,9 @@ namespace activity {
 class MailboxImpl {
   static constexpr size_t MAX_MAILBOX_SIZE = 10000000;
 
+  s4u::Mailbox piface_;
+  xbt::string name_;
+
   friend s4u::Mailbox;
   friend s4u::Mailbox* s4u::Mailbox::by_name(const std::string& name);
   friend mc::CommunicationDeterminismChecker;
@@ -39,15 +42,10 @@ public:
   void set_receiver(s4u::ActorPtr actor);
   void push(CommImplPtr comm);
   void remove(const CommImplPtr& comm);
-  CommImplPtr iprobe(int type, int (*match_fun)(void*, void*, CommImpl*), void* data);
-  CommImplPtr find_matching_comm(CommImpl::Type type, int (*match_fun)(void*, void*, CommImpl*), void* this_user_data,
+  CommImplPtr iprobe(int type, bool (*match_fun)(void*, void*, CommImpl*), void* data);
+  CommImplPtr find_matching_comm(CommImpl::Type type, bool (*match_fun)(void*, void*, CommImpl*), void* this_user_data,
                                  const CommImplPtr& my_synchro, bool done, bool remove_matching);
 
-private:
-  s4u::Mailbox piface_;
-  xbt::string name_;
-
-public:
   actor::ActorImplPtr permanent_receiver_; // actor to which the mailbox is attached
   boost::circular_buffer_space_optimized<CommImplPtr> comm_queue_;
   boost::circular_buffer_space_optimized<CommImplPtr> done_comm_queue_; // messages already received in the permanent
@@ -59,4 +57,4 @@ public:
 
 XBT_PRIVATE void SIMIX_mailbox_exit();
 
-#endif /* SIMIX_MAILBOXIMPL_H */
+#endif