Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
add accessors
[simgrid.git] / include / simgrid / plugins / ProducerConsumer.hpp
index 1ecaa1e..87d4cfa 100644 (file)
@@ -22,8 +22,7 @@ XBT_LOG_EXTERNAL_CATEGORY(producer_consumer);
 
 /** Stock implementation of a generic monitored queue to solve the producer-consumer problem */
 
-namespace simgrid {
-namespace plugin {
+namespace simgrid::plugin {
 
 template <typename T> class ProducerConsumer;
 template <typename T> using ProducerConsumerPtr = boost::intrusive_ptr<ProducerConsumer<T>>;
@@ -104,7 +103,7 @@ public:
    */
   ProducerConsumer* set_max_queue_size(unsigned int max_queue_size)
   {
-    std::unique_lock<s4u::Mutex> lock(*mutex_);
+    const std::scoped_lock lock(*mutex_);
     max_queue_size_ = max_queue_size;
     return this;
   }
@@ -149,7 +148,6 @@ public:
       can_put_->wait(lock);
     if (tmode_ == TransferMode::MAILBOX) {
       comm = mbox_->put_init(data, simulated_size_in_bytes)
-                 ->set_copy_data_callback(s4u::Comm::copy_pointer_callback)
                  ->start();
     } else
       queue_.push(data);
@@ -187,7 +185,6 @@ public:
     if (tmode_ == TransferMode::MAILBOX)
       comm = mbox_->get_init()
                  ->set_dst_data(reinterpret_cast<void**>(data), sizeof(void*))
-                 ->set_copy_data_callback(s4u::Comm::copy_pointer_callback)
                  ->start();
     else {
       *data = queue_.front();
@@ -216,7 +213,6 @@ public:
   }
 };
 
-} // namespace plugin
-} // namespace simgrid
+} // namespace simgrid::plugin
 
 #endif // SIMGRID_PLUGIN_PRODUCERCONSUMER_HPP