Mercurial > code
changeset 188:ce3e1c3d6fed
Update sockets to style and using instead of typedef
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 26 Nov 2013 20:32:43 +0100 |
parents | 600754c27c88 |
children | cc1e5fe1ee2c |
files | C++/Socket.cpp C++/Socket.h C++/SocketAddress.cpp C++/SocketAddress.h C++/SocketListener.cpp C++/SocketListener.h |
diffstat | 6 files changed, 28 insertions(+), 37 deletions(-) [+] |
line wrap: on
line diff
--- a/C++/Socket.cpp Tue Nov 26 20:20:59 2013 +0100 +++ b/C++/Socket.cpp Tue Nov 26 20:32:43 2013 +0100 @@ -54,10 +54,10 @@ #if defined(_WIN32) -string Socket::getLastSysError() +std::string Socket::getLastSysError() { LPSTR str = nullptr; - string errmsg = "Unknown error"; + std::string errmsg = "Unknown error"; FormatMessageA( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, @@ -67,8 +67,7 @@ (LPSTR)&str, 0, NULL); - if (str) - { + if (str) { errmsg = string(str); LocalFree(str); }
--- a/C++/Socket.h Tue Nov 26 20:20:59 2013 +0100 +++ b/C++/Socket.h Tue Nov 26 20:32:43 2013 +0100 @@ -56,8 +56,7 @@ * * This class is mainly used in all socket operations that may fail. */ -class SocketError : public std::exception -{ +class SocketError : public std::exception { private: std::string m_error; @@ -74,17 +73,16 @@ * This class is a big wrapper around sockets functions but portable, * there is some functions that helps for getting error reporting. */ -class Socket -{ +class Socket { public: #if defined(_WIN32) - typedef SOCKET Type; - typedef const char * ConstArg; - typedef char * Arg; + using Type = SOCKET; + using ConstArg = const char *; + using Arg = char *; #else - typedef int Type; - typedef const void * ConstArg; - typedef void * Arg; + using Type = int; + using ConstArg = const void *; + using Arg = void *; #endif private:
--- a/C++/SocketAddress.cpp Tue Nov 26 20:20:59 2013 +0100 +++ b/C++/SocketAddress.cpp Tue Nov 26 20:32:43 2013 +0100 @@ -31,8 +31,7 @@ , m_family(family) , m_port(port) { - if (m_family == AF_INET6) - { + if (m_family == AF_INET6) { sockaddr_in6 *ptr = (sockaddr_in6 *)&m_addr; ptr->sin6_family = AF_INET6; @@ -44,9 +43,7 @@ throw SocketError(Socket::getLastSysError()); m_addrlen = sizeof (sockaddr_in6); - } - else - { + } else { sockaddr_in *ptr = (sockaddr_in *)&m_addr; ptr->sin_family = AF_INET;
--- a/C++/SocketAddress.h Tue Nov 26 20:20:59 2013 +0100 +++ b/C++/SocketAddress.h Tue Nov 26 20:32:43 2013 +0100 @@ -32,8 +32,7 @@ * @see ConnectAddressIP * @see AddressUnix */ -class SocketAddress -{ +class SocketAddress { protected: sockaddr_storage m_addr; socklen_t m_addrlen; @@ -82,8 +81,7 @@ * Create a bind address for internet protocol, * IPv4 or IPv6. */ -class BindAddressIP : public SocketAddress -{ +class BindAddressIP : public SocketAddress { private: std::string m_host; int m_family; @@ -108,8 +106,7 @@ * Create a connect address for internet protocol, * using getaddrinfo(3). */ -class ConnectAddressIP : public SocketAddress -{ +class ConnectAddressIP : public SocketAddress { public: /** * Create a connect end point. @@ -131,8 +128,7 @@ * * Create an address to a specific path. Only available on Unix. */ -class AddressUnix : public SocketAddress -{ +class AddressUnix : public SocketAddress { public: /** * Construct an address to a path.
--- a/C++/SocketListener.cpp Tue Nov 26 20:20:59 2013 +0100 +++ b/C++/SocketListener.cpp Tue Nov 26 20:32:43 2013 +0100 @@ -35,12 +35,12 @@ m_clients.erase(std::remove(m_clients.begin(), m_clients.end(), s), m_clients.end()); } -void SocketListener::clear(void) +void SocketListener::clear() { m_clients.clear(); } -Socket & SocketListener::select(int s, int us) +Socket &SocketListener::select(int s, int us) { fd_set fds; timeval maxwait, *towait; @@ -48,8 +48,7 @@ int fdmax = m_clients.front().getSocket(); FD_ZERO(&fds); - for (Socket &c : m_clients) - { + for (Socket &c : m_clients) { FD_SET(c.getSocket(), &fds); if ((int)c.getSocket() > fdmax) fdmax = c.getSocket();
--- a/C++/SocketListener.h Tue Nov 26 20:20:59 2013 +0100 +++ b/C++/SocketListener.h Tue Nov 26 20:32:43 2013 +0100 @@ -27,16 +27,18 @@ * @class SocketTimeout * @brief thrown when a timeout occured */ -class SocketTimeout : public std::exception -{ +class SocketTimeout : public std::exception { public: virtual const char * what(void) const throw(); }; -class SocketListener -{ -public: - +/** + * @class SocketListener + * @brief Synchronous multiplexing + * + * Convenient wrapper around the select() system call. + */ +class SocketListener { private: std::vector<Socket> m_clients;