Просмотр исходного кода

input_common/udp: std::move SocketCallback instances where applicable

std::function is allowed to heap allocate if the size of the captures
associated with each lambda exceed a certain threshold. This prevents
potentially unnecessary reallocations from occurring.
Lioncash 6 лет назад
Родитель
Сommit
5c61e0ba39
1 измененных файлов с 2 добавлено и 2 удалено
  1. 2 2
      src/input_common/udp/client.cpp

+ 2 - 2
src/input_common/udp/client.cpp

@@ -206,7 +206,7 @@ void TestCommunication(const std::string& host, u16 port, u8 pad_index, u32 clie
         Common::Event success_event;
         SocketCallback callback{[](Response::Version version) {}, [](Response::PortInfo info) {},
                                 [&](Response::PadData data) { success_event.Set(); }};
-        Socket socket{host, port, pad_index, client_id, callback};
+        Socket socket{host, port, pad_index, client_id, std::move(callback)};
         std::thread worker_thread{SocketLoop, &socket};
         bool result = success_event.WaitFor(std::chrono::seconds(8));
         socket.Stop();
@@ -266,7 +266,7 @@ CalibrationConfigurationJob::CalibrationConfigurationJob(
                                         complete_event.Set();
                                     }
                                 }};
-        Socket socket{host, port, pad_index, client_id, callback};
+        Socket socket{host, port, pad_index, client_id, std::move(callback)};
         std::thread worker_thread{SocketLoop, &socket};
         complete_event.Wait();
         socket.Stop();