]> git.sesse.net Git - casparcg/blobdiff - protocol/osc/client.cpp
Move from boost::thread to std::thread for nearly everything.
[casparcg] / protocol / osc / client.cpp
index 6c99cf4ada55b7a6dcf2d3e4f1d6b72844d3a996..ca6703eec88113d97931b4e135ca4592a434c609 100644 (file)
 
 #include <core/monitor/monitor.h>
 
+#include <condition_variable>
 #include <functional>
-#include <vector>
+#include <mutex>
+#include <thread>
 #include <unordered_map>
+#include <vector>
 
 #include <boost/asio.hpp>
-#include <boost/bind.hpp>
-#include <boost/thread.hpp>
 
 #include <tbb/spin_mutex.h>
 
@@ -139,18 +140,18 @@ struct client::impl : public spl::enable_shared_from_this<client::impl>, core::m
        std::map<udp::endpoint, int>                                    reference_counts_by_endpoint_;
 
        std::unordered_map<std::string, byte_vector>    updates_;
-       boost::mutex                                                                    updates_mutex_;                                                         
-       boost::condition_variable                                               updates_cond_;
+       std::mutex                                                                      updates_mutex_;                                                         
+       std::condition_variable                                         updates_cond_;
 
        tbb::atomic<bool>                                                               is_running_;
 
-       boost::thread                                                                   thread_;
+       std::thread                                                                     thread_;
        
 public:
        impl(std::shared_ptr<boost::asio::io_service> service)
                : service_(std::move(service))
                , socket_(*service_, udp::v4())
-               , thread_(boost::bind(&impl::run, this))
+               , thread_(std::bind(&impl::run, this))
        {
        }
 
@@ -193,7 +194,7 @@ public:
 private:
        void propagate(const core::monitor::message& msg)
        {
-               boost::lock_guard<boost::mutex> lock(updates_mutex_);
+               std::lock_guard<std::mutex> lock(updates_mutex_);
 
                try 
                {
@@ -240,7 +241,7 @@ private:
                                destinations.clear();
 
                                {                       
-                                       boost::unique_lock<boost::mutex> cond_lock(updates_mutex_);
+                                       std::unique_lock<std::mutex> cond_lock(updates_mutex_);
 
                                        if (!is_running_)
                                                return;