Mercurial > code
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) {