+ throw bad_socket_state("not connected");
+}
+
+int Socket::set_option(int level, int optname, const void *optval, socklen_t optlen)
+{
+#ifdef WIN32
+ return setsockopt(handle, level, optname, reinterpret_cast<const char *>(optval), optlen);
+#else
+ return setsockopt(handle, level, optname, optval, optlen);
+#endif