--- a/src/Network/Socket.hh Mon Dec 08 12:46:37 2008 +0000
+++ b/src/Network/Socket.hh Mon Dec 08 15:02:05 2008 +0000
@@ -7,9 +7,14 @@
#include <cerrno>
#include <cstring>
+/**
+ * We use ClanLib's Socket API, but with our own name
+ */
typedef CL_Socket NetworkSocket;
-// Network.cc
+/**
+ * Base class for expcetions thrown by socket methods
+ */
class NetworkSocketError : public Error {
protected:
std::string build_str (const NetworkSocket &socket, const char *op, const char *err);
@@ -17,12 +22,18 @@
NetworkSocketError (const NetworkSocket &socket, const char *op, const char *err);
};
+/**
+ * Errno-enabled exception, most common type of NetworkSocketError
+ */
class NetworkSocketOSError : public NetworkSocketError {
public:
NetworkSocketOSError (const NetworkSocket &socket, const char *op) :
NetworkSocketError(socket, op, strerror(errno)) { }
};
+/**
+ * Recv returned EOF
+ */
class NetworkSocketEOFError : public NetworkSocketError {
public:
NetworkSocketEOFError (const NetworkSocket &socket, const char *op) :