IO-Socket-IP
view release on metacpan or search on metacpan
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
* 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 )