changeset 347:b8d6b7f0bec4

Socket: disable temporarily Kqueue and Epoll since they are not implemented
author David Demelier <markand@malikania.fr>
date Thu, 02 Apr 2015 19:06:53 +0200
parents d235553e47a9
children c4381c345f2d
files C++/modules/Socket/SocketListener.cpp C++/modules/Socket/SocketListener.h C++/tests/Socket/main.cpp
diffstat 3 files changed, 15 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/C++/modules/Socket/SocketListener.cpp	Thu Apr 02 17:32:51 2015 +0200
+++ b/C++/modules/Socket/SocketListener.cpp	Thu Apr 02 19:06:53 2015 +0200
@@ -170,7 +170,7 @@
 	return direction;
 }
 
-void Poll::set(Socket &s, int direction) override
+void Poll::set(Socket &s, int direction)
 {
 	auto it = std::find_if(m_fds.begin(), m_fds.end(), [&] (const auto &pfd) { return pfd.fd == s.handle(); });
 
@@ -183,7 +183,7 @@
 	}
 }
 
-void Poll::unset(Socket &s, int direction) override
+void Poll::unset(Socket &s, int direction)
 {
 	for (auto i = m_fds.begin(); i != m_fds.end();) {
 		if (i->fd == s.handle()) {
@@ -201,7 +201,7 @@
 	}
 }
 
-void Poll::remove(Socket &s) override
+void Poll::remove(Socket &s)
 {
 	auto it = std::find_if(m_fds.begin(), m_fds.end(), [&] (const auto &pfd) { return pfd.fd == s.handle(); });
 
@@ -211,13 +211,13 @@
 	}
 }
 
-void Poll::clear() override
+void Poll::clear()
 {
 	m_fds.clear();
 	m_lookup.clear();
 }
 
-SocketStatus Poll::wait(int ms) override
+SocketStatus Poll::wait(int ms)
 {
 	auto result = poll(m_fds.data(), m_fds.size(), ms);
 	if (result == 0) {
@@ -236,7 +236,7 @@
 	throw SocketError(SocketError::System, "select", "No socket found");
 }
 
-std::vector<SocketStatus> Poll::waitMultiple(int ms) override
+std::vector<SocketStatus> Poll::waitMultiple(int ms)
 {
 	auto result = poll(m_fds.data(), m_fds.size(), ms);
 	if (result == 0) {
@@ -258,4 +258,4 @@
 
 #endif // !_SOCKET_HAVE_POLL
 
-} // !backend
\ No newline at end of file
+} // !backend
--- a/C++/modules/Socket/SocketListener.h	Thu Apr 02 17:32:51 2015 +0200
+++ b/C++/modules/Socket/SocketListener.h	Thu Apr 02 19:06:53 2015 +0200
@@ -68,9 +68,13 @@
 #    define SOCKET_DEFAULT_BACKEND backend::Select
 #  endif
 #elif defined(__linux__)
-#  define SOCKET_DEFAULT_BACKEND backend::Epoll
+   // TODO NOT READY YET
+   //#  define SOCKET_DEFAULT_BACKEND backend::Epoll
+#  define SOCKET_DEFAULT_BACKEND backend::Poll
 #elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__APPLE__)
-#  define SOCKET_DEFAULT_BACKEND backend::Kqueue
+   // TODO NOT READY YET
+   //#  define SOCKET_DEFAULT_BACKEND backend::Kqueue
+#  define SOCKET_DEFAULT_BACKEND backend::Poll
 #else
 #  define SOCKET_DEFAULT_BACKEND backend::Select
 #endif
--- a/C++/tests/Socket/main.cpp	Thu Apr 02 17:32:51 2015 +0200
+++ b/C++/tests/Socket/main.cpp	Thu Apr 02 19:06:53 2015 +0200
@@ -266,7 +266,7 @@
 
 class ListenerPollTest : public testing::Test {
 protected:
-	SocketListener<backend::Poll> m_listener;
+	SocketListenerBase<backend::Poll> m_listener;
 	SocketTcp m_masterTcp{AF_INET, 0};
 	SocketTcp m_clientTcp{AF_INET, 0};
 
@@ -297,7 +297,7 @@
 	m_tserver = std::thread([this] () {
 		try {
 			m_listener.set(m_masterTcp, SocketListener::Read);
-			m_listener.select();
+			m_listener.wait();
 			m_masterTcp.accept();
 			m_masterTcp.close();
 		} catch (const std::exception &ex) {