#ifndef MSP_NET_SOCKET_H_
#define MSP_NET_SOCKET_H_
+#include <msp/core/except.h>
#include <msp/io/eventobject.h>
#include <msp/io/handle.h>
#include "constants.h"
namespace Msp {
namespace Net {
-class bad_socket_state: public std::logic_error
+class bad_socket_state: public invalid_state
{
public:
- bad_socket_state(const std::string &w): std::logic_error(w) { }
+ bad_socket_state(const std::string &w): invalid_state(w) { }
};
struct Private;
- Private *priv;
- SockAddr *local_addr;
+ Private *priv = 0;
+ SockAddr *local_addr = 0;
Socket(const Private &);
Socket(Family, int, int);
public:
~Socket();
- virtual void set_block(bool);
- virtual void set_inherit(bool);
+ void set_block(bool) override;
+ void set_inherit(bool) override;
const IO::Handle &get_handle(IO::Mode);
- virtual const IO::Handle &get_event_handle();
+ const IO::Handle &get_event_handle() override;
/** Associates the socket with a local address. There must be no existing
users of the address. */