summarylogtreecommitdiffstats
path: root/dsu.diff
blob: 403d8b4a1da89dd6809d407c96243b7bb15cd8e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--- a/src/input/CMakeLists.txt
+++ b/src/input/CMakeLists.txt
@@ -43,6 +43,7 @@ target_sources(CemuInput PRIVATE
 	api/DSU/DSUControllerProvider.h
 	api/DSU/DSUMessages.h
 	api/DSU/DSUMessages.cpp
+	api/DSU/TimeoutSocketOption.h
 )
 
 # Keyboard controller
--- a/src/input/api/DSU/DSUControllerProvider.cpp
+++ b/src/input/api/DSU/DSUControllerProvider.cpp
@@ -1,5 +1,6 @@
 #include "input/api/DSU/DSUControllerProvider.h"
 #include "input/api/DSU/DSUController.h"
+#include "input/api/DSU/TimeoutSocketOption.h"
 
 DSUControllerProvider::DSUControllerProvider()
 	: base_type(), m_uid(rand()), m_socket(m_io_service)
@@ -77,8 +78,9 @@ bool DSUControllerProvider::connect()
 			m_socket.close();
 
 		m_socket.open(ip::udp::v4());
+
 		// set timeout for our threads to give a chance to exit
-		m_socket.set_option(boost::asio::detail::socket_option::integer<SOL_SOCKET, SO_RCVTIMEO>{200});
+		m_socket.set_option(TimeoutSocketOption{200});
 
 		// reset data
 		m_state = {};