IO-Socket-IP

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

           hoisting to detect nonblocking connect/failure when implementing
           Timeout (RT98976) (thanks Arthur Axel 'fREW' Schmidt)

0.32    2014/09/12 10:11:27
        [CHANGES]
         * Implementation of Timeout for ->connect (RT92075)

0.31    2014/07/11 01:24:49
        [BUGFIXES]
         * A better fix for subclassing ->connect (RT95983) because 0.30 broke
           the way IO::Socket::SSL works (RT97050)

0.30    2014/07/03 23:28:43
        [CHANGES]
         * Invoke $self->connect fully-qualified in case of subclasses with
           override (RT95983)
         * Added extra diag() call in t/15io-socket.t (RT96914)

0.29    2014/02/24 16:06:29
        [BUGFIXES]
         * Workaround for OSes that disobey AI_ADDRCONFIG and yield AIs on

Changes  view on Meta::CPAN

         * Updated test skip counts in unit tests so they match the number of
           tests actually skipped

0.12    CHANGES:
         * Ensure that all instances have a defined fileno after construction,
           even in non-blocking mode (RT77726)

0.11    CHANGES:
         * Ignore unrecognised constructor arguments rather than complaining
           about their presence (RT77536)
         * Call $self->connect during constructor because IO::Socket::SSL
           relies on this to happen (RT77536)

0.10    CHANGES:
         * Allow specifying other getaddrinfo flags using GetAddrInfoFlags
           constructor argument (RT75783)
         * Provide a convenient hostname+port string splitting utility method

0.09    CHANGES:
         * Attempt to implement IPV6_V6ONLY sockopt wrapper - not all OSes can
           disable it, so detect and skip those

lib/IO/Socket/IP.pm  view on Meta::CPAN

            return 1;
         }

         if( $! == EINPROGRESS or $! == EWOULDBLOCK ) {
            ${*$self}{io_socket_ip_connect_in_progress} = 1;
            return 0;
         }

         # If connect failed but we have no system error there must be an error
         # at the application layer, like a bad certificate with
         # IO::Socket::SSL.
         # In this case don't continue IP based multi-homing because the problem
         # cannot be solved at the IP layer.
         return 0 if ! $!;

         ${*$self}{io_socket_ip_errors}[0] = $!;
         next;
      }

      return 1;
   }



( run in 0.476 second using v1.01-cache-2.11-cpan-4d50c553e7e )