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;