void Socket::bind(const SockAddr &addr)
{
- check_state(false);
-
sockaddr_storage sa;
unsigned size = addr.fill_sockaddr(sa);
return *peer_addr;
}
-void Socket::check_state(bool conn) const
-{
- if(conn && !connected)
- throw bad_socket_state("not connected");
-}
-
int Socket::set_option(int level, int optname, const void *optval, socklen_t optlen)
{
#ifdef WIN32
unsigned Socket::do_write(const char *buf, unsigned size)
{
- check_state(true);
+ if(!connected)
+ throw bad_socket_state("not connected");
if(size==0)
return 0;
unsigned Socket::do_read(char *buf, unsigned size)
{
- check_state(true);
+ if(!connected)
+ throw bad_socket_state("not connected");
+
if(size==0)
return 0;